HTML选择下拉框在IOS 11 Beta上使用Cordova存在问题

5

我目前使用 AngularJS 和 Cordova 构建一个 iOS 应用程序。当我在 iOS 11 beta 上测试我的应用程序时,发现了一个 bug。

为了在表单中选择一些数据,我们使用下拉选择框。当我们选择一个值后,下拉列表会消失,但几秒钟后又会重新出现。

当表单中有多个下拉选择框时,如果点击第二个选择框,则第一个选择框将被选中。然后再选择值后,正确的选项列表会出现。

我尝试使用基本示例,结果行为相同。在 Web 浏览器或 iOS 10 中没有这个 bug。

  <select ng-model="elements" ng-options="serie.nom for serie in elements"></select>

我尝试添加标签,更新 Cordova 和 IOS 插件。但是都没有起作用。

谢谢您的提前感谢。


遇到了相同的问题,但似乎是 UIWebView 的问题。如果在一个普通(非 Cordova)应用程序中使用 UIWebView 加载带有 select 的页面,则会出现相同的问题。 - Tom Kincaid
还有其他解决方案吗? - Anjana
2个回答

5

我已经向下面的Cordova报告了这个问题:

https://issues.apache.org/jira/browse/CB-13287

苹果的UIWebView中存在一个错误,这个错误也会影响使用Cordova的IOS应用程序。我与我们的一位IOS开发人员合作创建了一个样本本地IOS应用程序,仅使用Swift(没有Cordova)。下拉菜单的问题在那里也存在。
苹果似乎还有另一个视图称为WKWebView,从IOS 8.0开始似乎更受青睐。以下是摘自苹果WKWebView文档的引用。我已经验证,在WKWebView下,下拉菜单没有问题。

重要

从iOS 8.0和OS X 10.10开始,使用WKWebView添加Web内容到您的应用程序。不要使用UIWebView或WebView。

好消息是Cordova也支持WKWebView。您需要安装插件:cordova-plugin-wkwebview-engine

该插件目前还不是百分之百可靠。您可以尝试使用该插件来测试整个应用程序是否正常运行。截至目前,WKWebView不是Cordova使用的默认视图。希望Cordova很快将WKWebView作为默认视图。他们正在跟踪所有已知的WKWebView问题在此处

更新:2017年11月3日

我也向苹果报告了此问题。但不幸的是,它被标记为其他问题的重复报告。由于安全和隐私原因,苹果没有向我提供有关其他问题的详细信息。该问题的状态现在为CLOSED(之前为OPEN)。所以,希望修复将被纳入即将到来的IOS更新中。

更新:2018年2月1日

我刚刚注意到,苹果已经在Xcode 9.2下为UIWebView修复了此问题。


1
这个插件在我的项目中不受支持。请问还有其他解决方案吗? - Anjana
谢谢你的回答。非常有用。 - September800
在我们的应用程序中,我们已经在使用WKWebView,并且问题存在。似乎在使用iOS 11设备时更糟糕。 - Ju66ernaut

1
问题是因为Cordova使用UIWebView,而iOS 11中的UIWebView存在错误。这个问题已在iOS 11.2 SDK中得到解决。使用iOS 11.2 SDK的Xcode 9.2似乎已经解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接