window.onresize在WKWebView

时间:2017-04-09 02:12:35

标签: ios safari wkwebview

我有一些全屏网页内容,当窗口使用resize事件更改大小时,我会更新。

window.onresize = function()
{
    var width = window.innerWidth;
    var height = window.innerHeight;
    ...
}

这在Safari应用程序中运行良好,但它不能在WKWebView中运行。当设备在WKWebView上更改iPhone和iPad上的屏幕方向时,它会给我错误的窗口尺寸。

专门针对iPad,我在导航控制器中显示Web视图。当我切换到纵向模式时,我得到(768x768)尺寸而不是(768x960),这是正确的尺寸。

此问题是否有解决方法?

1 个答案:

答案 0 :(得分:0)

在调整大小事件触发之前,似乎window.clientWidth / window.clientHeight没有得到更新。

我找到了解决该问题的两种方法:

  • 使用document.documentElement.clientWidth代替window.innerWidth
  • orientationchange事件而不是resize事件(window.clientWidth现在似乎已经更新了)