如何在webView中获取正确的style.width值?

时间:2013-07-05 16:18:42

标签: android webview position android-webview

在四处寻找解决方案之后,我只是厌倦了尝试我找到的每一根稻草。

所以,我的情况是这样的:

我有一个可滚动的div,其中包含浮动图片,我使用scrollLeftoffsetLeftstyle.width动态展开此div

现在,虽然这在iOS和PC上运行良好,但在Android(7“)上,scrollLeft值缩小了近50%!但是style.width值没有按比例缩小,例如其他的。

这将是我的项目的CSS:

.slider-item {
  margin: 0 13px 0 0;
  width: 300px;
  float: left;
  height: inherit;
}

我的viewport

<meta id="viewport" name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0">

我的问题:

  • 从HTML / JS的角度来看,是否有某个完整的webview指南?因为大多数时候我偶然发现了解决方案,有必要调整android-app - 我想避免这种情况。

  • 如何使用JavaScript或正确的style.width分别确定设备的自适应比例?

如果有人能向我解释,我会很高兴的!


PS:刚刚发现了一个额外的错误:当我向左滚动一些元素时,到目前为止,我到达了空白区域;然后点击空白区域,它实际上打开了其中一个元素的链接,现在已经不见了!但是我点击的点将适合实际位置,元素应该在正常显示位置。

我很遗憾这个o_O


编辑:我错误地把wronk变量放在这里:它是我的滑块项的syle.width,这是错误的,而不是他们的offsetLeft


使用@media可能是不可能的,因为我的window.innerWidth在Android上为1280px,在iOS上为1024。两者都显示我的滑块项目{300}的offsetWidthwidth属性 - 但Android scrollLeft显示155px,当我已经滚动了一整张图片时,应该是300px宽 - 有问题。

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用WebView初始比例?像这样:webView.setInitialScale(100);