父级和iframe位于同一个域中. iframe具有动态高度且没有自己的滚动条 – 滚动条位于父窗口中.
尽管搜索很多,我还是找不到在加载时将父窗口滚动到iframe中的锚点的方法.即iframe网址是abc.com/iframe.html#link,但加载时只有iframe的顶部可见 – 父框架不会滚动到#link.有没有人知道这可以用javascript(在父或iframe或两者)或其他方式完成?
谢谢
最佳答案 这可以通过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;