【问题标题】:Html page in a WebView does not fire 'visibilitychange' event when user press home button (iOS 8)当用户按下主页按钮时,WebView 中的 Html 页面不会触发“visibilitychange”事件(iOS 8)
【发布时间】:2015-04-05 07:23:49
【问题描述】:

我有一个使用画布绘制的 html 页面来渲染每一帧。当页面在 safari 中显示时,如果用户按下主页按钮,'requestAnimationFrame' 将不会被调用,并且页面上的动画会暂停,直到用户返回 safari。但同样的设备,当页面显示在第三方原生应用程序的 webView 中,当用户按下主页按钮时,应用程序似乎永远不会停止调用“requestAnimationFrame”,当用户返回应用程序时,应用程序被卡住甚至崩溃.. . 所以我尝试在用户按下主页按钮时调用'clearAnimationFrame'来解决这个问题。但我发现当用户按下主页按钮时,webView 中的页面不会触发 'visibilitychange' 事件。这种行为与 safari 不同。然后我尝试了'blur','pagehide'事件,但都不起作用!

谁能告诉我如何解决问题或任何提示将非常有帮助。 提前致谢!

顺便说一句,我的手机系统版本是iOS 8.0。

【问题讨论】:

标签: javascript ios webview


【解决方案1】:

解决此问题的唯一方法是您需要通过本机代码实现类似的功能。我的意思是,如果 RAF 或 visibilityChange 不起作用,您仍然可以检测到 webview 的离开,例如按下主页按钮。然后使用 js-bridge 通知 JS 一个“native-visibilityChange”事件。 正如您在我们的 Canvas 游戏或其他网络应用程序中所说,我们的产品正在使用它来解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多