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