繁体   English   中英

Android webview javascript bug

[英]Android webview javascript bug

我正在使用android的webview来显示一些html,当DOM准备好时,javascript正在被执行; 但是screen.width给出了错误的值,除非我在查询之前使用了一些超时(在模拟器和真实设备上)

问题在于高密度/低密度的设备。 例如,尺寸为480×800的高密度设备将导致320×533的屏幕(它除以1.5的屏幕宽度和高度),对于尺寸为240x320的低密度屏幕,它给出320x426(再次,它除以宽度和高度均为0.75)。

当我应用一些css并将主体的宽度设置为100%时,它会闪烁,因为主体的宽度设置为320px,并且在半秒后它再次被设置,这次是实际大小为480px。

在应用某些css之前使用计时器查询屏幕的宽度和高度是不可接受的,因为在不同的设备上,需要不同的时间间隔(300ms,500ms) - 如何应用具有不同屏幕尺寸的css

仿真器:

FWQVGA (240×432, low density, normal screen)
HVGA (320×480, medium density, normal screen)
WVGA800 (480×800, high density, normal screen)

有没有解决这个问题的方法?

默认情况下,WebView会缩放网页,使其绘制的大小与中密度屏幕上的默认外观相匹配。 因此,它在高密度屏幕上应用1.5倍缩放(因为它的像素更小)和在低密度屏幕上应用0.75倍缩放(因为它的像素更大)。

您可能会读到:“构建支持不同屏幕的网页”@ http://developer.android.com/reference/android/webkit/WebView.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM