通过滚动浏览器窗口来阻止iframe中的#anchor

Jam*_*ong 9 html javascript iframe

当页面加载带有以#结尾的URL的iframe时,父页面会滚动,以便iframe的正文位于浏览器窗口的顶部.

演示:http://jsfiddle.net/dTQEE/1/

如果URL结束#,例如http://foo.com#,浏览器假定您想要转到页面顶部.

当加载带有哈希片段的iframe时,如何阻止父窗口滚动?

Chrome中出现问题,不确定这是否是其他浏览器中的问题.

现在我的最佳解决方案是使用el.addEventListener('scroll', ...)将其重置scrollTop为0,如果它还不是0.这样可行,但向下滚动和向上滚动都非常明显.

Phi*_*rch 0

不确定这是否可行,但您应该尝试利用 window.onhashchange 事件并防止默认。如果没有,如果哈希值后面没有任何内容,则必须将其删除。