Android中Chrome浏览器和Webchrome客户端中JS Popup的不同行为

时间:2015-01-29 07:55:34

标签: javascript android google-chrome webview

我试图挂钩一个webview来显示某个网页。网站似乎已经改变了它的UI,包括很多过渡和动画。 这些动画在笔记本电脑上工作时昨天没有在Chrome上运行。在我们将Chrome更新至版本18.0.1025308之前。现在他们使用Android chrome,即我们可以看到模式弹出JS屏幕。但是webview没有。 屏幕顶部出现一个空白的蓝色屏幕并停止响应。

在我们将其更新为最新的Chrome版本之前,这也是浏览器上的行为。我认为这是重要的一点。 我没有看到对WebChromeClient API进行任何更改。

Chrome浏览器中的窗口如下所示。正在使用React JS。

What it looks like on Chrome browser

在Webview中

What it looks like in android webview

因此,不是弹出窗口,屏幕上会出现蓝屏,无法对其进行任何操作

其他详情

  1. 已启用硬件加速。我们尝试将其切换为 看它是否有任何区别,但事实并非如此。
  2. 我们正在使用WebChromeClient以便启用JS。该网站的所有其他部分都按预期工作。
  3. 任何关于在哪里寻找问题的想法都会受到赞赏。

    我们只是使用webchromeclient并且不做任何花哨的事情。所有webview插件都已启用。

1 个答案:

答案 0 :(得分:2)

您的问题可能是该网站正在尝试使用新的JavaScript API <不可用或在(过时的)WebView中被破坏。 (WebView没有获得更新,因此如果你的手机有2011年底发布的android 4.0,那么你将使用一个3岁的渲染/ JavaScript引擎)

网页上的动画是使用新的javaScript和css功能完成的,webview可能没有这些功能。 如果较旧版本的Chrome不支持这些,则WebView也不会。

您可以尝试Crosswalk,这是一个WebView替代品,它使用相同的渲染引擎并具有与Chrome相同的javaScript支持。另请参阅this answer以获取Crosswalk的替代方案,这可能更容易使用。