iOS 11 UIWebView JavaScript 弹出问题

iOS 11 UIWebView JavaScript Pop-up Issues

我在更新用于 iOS11 的应用程序时遇到问题。我有本机应用程序,它使用 UIWebView 来显示 GWT JS 应用程序。

但是,iOS11 的此应用程序中的弹出窗口不起作用。它们可以打开,可以选择一个值,然后它们将保存该值并关闭,但随后它们将准确地重新打开就像他们在关闭之前一样,这将继续下去。如果我有 2 个下拉菜单,那么第一个会出现上述问题,但如果我再打开第二个,我将看到第一个下拉菜单中的值,直到我单击屏幕上的其他地方将其关闭。

第二次出现下拉菜单时,它不会在选择时自动关闭,但似乎确实更改了值。此外,如果我在没有选择任何内容的情况下关闭下拉菜单,那么它会弹出列表中相同数量的项目,但都是空白的,就好像初始弹出窗口以某种方式将值输入第二个弹出窗口一样.

我排除了这仅仅是代码问题的可能性,因为完全相同的本机代码和 Web 代码使弹出窗口按预期在 iOS 11.

上工作

如果您有任何关于如何处理这个问题的建议,我将不胜感激,因为您自己也遇到过这个问题,或者甚至只是 iOS 11 的一般问题调试提示,因为这对我来说是相对较新的。

谢谢。

对我有用的是用 WebKit 框架中的 WKWebView 替换 UIWebView。目前我没有找到更好的解决方法。

确保将 WebKit.framework 添加到目标中。

这是 UIWebView 的一个 ios 问题,如上一个答案中所述。将其替换为 WKWebView 将有助于解决此问题。对于无法替换为 WKWebView 的任何人,此问题已在 xcode 9.2 beta-2 版本中修复。因此,您可以使用 xcode 9.2 beta-2 构建您的应用程序(希望稳定版本也有此修复),并尝试在 ios 11.2 中进行测试。