4

父级和 iframe 在同一个域上。iframe 具有动态高度并且没有自己的滚动条 - 滚动条位于父窗口上。

尽管进行了很多搜索,但我找不到在加载时将父窗口滚动到 iframe 中的锚点的方法。即 iframe url 是 abc.com/iframe.html#link,但在加载时,只有 iframe 的顶部可见 - 父框架不会滚动到 #link。有谁知道可以使用 javascript(在父级或 iframe 中或两者中)或其他方式来完成此操作?

谢谢

4

2 回答 2

2

这可以通过 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;

From:获取一个 HTML 元素的位置 (X,Y)

于 2012-06-16T09:16:44.357 回答
0

您是否尝试对#进行urlencoding?

尝试:%23

于 2013-05-19T19:59:18.520 回答