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

# を urlencode してみましたか?

試行: %23

于 2013-05-19T19:59:18.520 に答える