【发布时间】:2015-04-06 22:15:59
【问题描述】:
将我的 Nexus 7 升级到 Android 5.1 后,我的 Webviews (WebChromeClient) 中的 alert() 和 confirm() 框不再执行。
SetJavaScriptEnabled 设置为 true,并且 alert() 和 confirm() 在所有早期版本的 Android 中运行良好。
运行 Android 5.1 的任何人都可以测试此问题,以便我确认此问题是否仅与我的设备有关,或者这是否是 Android 5.1 版本中的错误?
【问题讨论】:
-
您是否使用自己的
WebChromeClient来处理alert()和confirm()电话? -
是的。并且 alert() 和 confirm() 调用是从网页而不是本地代码进行的。
-
您能否确认您的
WebChromeClient是否在onJsAlert()和onJsConfirm()中获得alert()和confirm()的控制权? IOW,问题是您没有获得控制权,还是您获得了控制权但您在这些方法中所做的事情不起作用? -
问题是对话框没有打开。什么都没发生!这些方法工作正常。此问题必须与 Android 5.1 相关,因为在 5.0 及更低版本上一切正常。
-
"问题是对话框没有打开。什么也没发生!" ——那没有回答我的问题。您是自己显示对话框,还是显示默认对话框?如果您自己展示它们,我们将需要查看有关您如何执行此操作的代码,以确定它们的实现是否有任何特别奇怪的地方。如果,OTOH,您依赖默认对话框,请尝试暂时删除您的
WebChromeClient并确认行为是什么。
标签: javascript android webview