javascript - 页面底部的 iframe : avoid automatic scroll of the page

标签 javascript iframe scroll

我在页面上从中间到底部有一个 iframe。当我加载页面时,它滚动到底部。我尝试 body onload window.scroll(0,0) 但它的效果很丑陋,因为它首先向下滚动,然后立即向上滚动。

页面上 iframe 自动滚动到底部的原因是什么?

最佳答案

这只是一个随机的,但可能会做这样的事情:

<iframe style="display: none;" onload="this.style.display='block';" src="..."></iframe>

我们的想法是,如果远程页面上有一些您无法控制的焦点窃取脚本,浏览器将不会聚焦隐藏元素。而且您的 onload 很可能会在焦点更改脚本后触发。

或者,另一种可能更可靠的选择:

<iframe style="position: absolute; top: -9999em; visibility: hidden;" onload="this.style.position='static'; this.style.visibility='visible';" src="..."></iframe>

这里我们基本上是说隐藏框架并将其垂直移动到页面上的负偏移量。当它尝试将元素聚焦在框架内时,它应该向上滚动页面,然后加载后将 iframe 放回其预期位置。

当然,在不了解更多信息的情况下,很难确定哪些权衡是可以的,而且这两种选择都有一些不太合理的条件,所以 YMMV。

希望有帮助:)

关于javascript - 页面底部的 iframe : avoid automatic scroll of the page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6596668/

相关文章:

javascript - 如何根据图像大小在 css 中添加背景大小?

javascript - html2canvas 捕获低质量图片

javascript - Canvas 未在 router.get 方法中更新

jquery - 滚动库中下一个和上一个按钮的错误

javascript - 简单 JSON 调用的 console.log() 错误行为

javascript - 禁用iframe src的监听

javascript - Jquery 获取 A 标签的closest() Iframe 返回未定义

javascript - 不安全的 JavaScript 尝试使用框架访问

javascript - Jquery - 检查 : If scroll possible (div with overflow:scroll)

ios - 滚动 swift3 时如何隐藏 UICollectionView 中第 0 行的锁定图像