【发布时间】:2012-08-31 12:48:22
【问题描述】:
我有一个使用 Android WebView 以及一些 JavaScript 的应用程序。当我的 WebViewClient 调用 onPageFinished() 时,我提醒我的 JavaScript 运行初始化方法。在我点击 onPageFinished() 之前,我的 JavaScript 已启用并加载。
在那个 JavaScript 方法中,我使用了window.innerWidth。但是,它返回的值总是错误的并且总是相同的。无论我的方向如何,它都会报告内部宽度为 320,内部高度为 240。(纵向和横向的正确宽度值分别为 360 和 598。)我在 JavaScript 中访问 window.innerWidth 或 window.innerHeight 的其他任何地方它给出我一个准确的数字。
更令人费解的是,如果我直接在我的onPageFinished() 调用中使用
int height = view.getHeight();
int width = view.getWidth();
然后它总是正确返回(尽管它返回确切的像素数,而不是 DIP)。这让我觉得一切都已经完成了 WebView 的加载,所以我的 JavaScript 不应该有任何问题。
关于发生了什么的任何想法?
提前致谢!
【问题讨论】:
-
我们有类似的问题,但高度和宽度为 0。
标签: javascript android android-webview