1

window.scrollwindow.scrollTo(它的别名)似乎不适用于<iframe>嵌入在 Android 4.0.4 互联网浏览器中。其他任何功能(似乎)也没有window.scrollBy,等等。我怎样才能解决这个限制并强制<iframe>滚动到页面上的特定位置?

一些额外的信息:

  • 解决方案不需要很优雅,它可以是一个 hacky 解决方法。无论如何,这是测试代码。
  • 虽然代码不需要干净,但至少应该可以使其跨浏览器友好
  • 设备是运行 Android 4.0.4 原生浏览器的三星 Galaxy Note
  • 框架在同一个域中,因此可以在其上运行代码
  • 除了滚动,我想尽可能保持页面不变
  • <iframe>我的代码运行时已完成加载
4

2 回答 2

1

它看起来像是这里和这里讨论的一个已知错误。

以下为我做了一个技巧:

  • 通过添加 {overflow:hidden} 关闭溢出样式
  • 调用滚动到
  • 通过设置 {overflow:scroll} 打开样式
于 2013-08-08T09:25:11.367 回答
1

使用focus()

function scrollY(i) {
  var div = document.createElement("div");
  div.innerHTML = "<a style='position:absolute;left:0;top:" + i + "px' href='#'></a>";
  div = div.firstChild;
  document.body.appendChild(div);
  div.focus();
  div.parentNode.removeChild(div);
}
于 2013-08-08T01:17:41.663 回答