javascript - Android webview javascript 错误

标签 javascript android css webview

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

问题出在高/低密度的设备上。例如,尺寸为 480 X 800 的高密度设备将产生 320 x 533 的屏幕(屏幕宽度和高度均除以 1.5),而对于尺寸为 240x320 的低密度屏幕,它将产生 320x426(同样,它除以宽度和高度均为 0.75)。

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

在应用某些 css 之前使用计时器来查询屏幕的宽度和高度是 Not Acceptable ,因为在不同的设备上,需要不同的时间间隔(300 毫秒,500 毫秒) - 如何在不同的屏幕尺寸上应用 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

关于javascript - Android webview javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692902/

相关文章:

java - switch.isChecked 始终为 false

android - 设置 NumberPicker 中可见项的数量

javascript - 滑动面板动画

javascript - 气泡图 : how to avoid bubbles being cut off? 谷歌可视化

javascript - 角色跳跃脚本javascript平台游戏

javascript - 如何在选择 HTML 控件的 onchange 事件中调用 jQuery Colorbox 弹出窗口?

javascript - 使用嵌套的异步请求循环遍历异步请求

android - 从另一个 Activity 使用 SharedPreferences 在 ArrayListAdapter 中添加项目

html - 无法在 Html 中的导航栏下方显示内容。 "Hello World"应显示在导航栏下方

css - 使用 CSS 的狮身人面像和 Accordion 列表