我在页面上从中间到底部有一个 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/