Javascript 滚动父窗口以在iframe中定位
父级和iframe位于同一个域上。Iframe具有动态高度,并且没有自己的滚动条-滚动条位于父窗口上 尽管进行了大量搜索,但在加载时我找不到将父窗口滚动到iframe中的锚点的方法。即iframe url为abc.com/iframe.html#link,但加载时仅iframe顶部可见-父帧不会滚动到#link。有人知道用javascript(在父级或iframe中,或两者中)或其他方式可以实现这一点吗Javascript 滚动父窗口以在iframe中定位,javascript,iframe,scroll,Javascript,Iframe,Scroll,父级和iframe位于同一个域上。Iframe具有动态高度,并且没有自己的滚动条-滚动条位于父窗口上 尽管进行了大量搜索,但在加载时我找不到将父窗口滚动到iframe中的锚点的方法。即iframe url为abc.com/iframe.html#link,但加载时仅iframe顶部可见-父帧不会滚动到#link。有人知道用javascript(在父级或iframe中,或两者中)或其他方式可以实现这一点吗 谢谢这可以通过javascript完成。假设您单击链接,而不是锚定链接,请尝试以下操作: d
谢谢这可以通过javascript完成。假设您单击链接,而不是锚定链接,请尝试以下操作:
document.getElementById('id_of_link').scrollIntoView(true);
编辑:window.parent.scroll(x,y)如何,其中x,y是通过此方法检索到的元素的位置:
function getOffset( el ) {
var _x = 0;
var _y = 0;
while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return { top: _y, left: _x };
}
var x = getOffset( document.getElementById('yourElId') ).left;
发件人:您是否尝试对#进行URL编码
Try:%23谢谢,但我已经尝试过了,但它在iframe中不起作用,因为需要滚动iframe的是父级,而不需要从父级滚动到id_of_链接(即使假设我可以从父级的iframe的哈希值中找到id_of_链接)。编辑后的解决方案有时在Chrome中有效,而不是在Firefox中。由于最初的页面只使用IE9中的链接(不需要javascript),所以我决定离开这里,但感谢您的帮助-非常感谢。