3

この JavaScript を使用して、必要な領域にスクロールされる Web ページを読み込みます<iframe>#asContainerしかし、指定された iframe が読み込まれるたびに、URL の最後で使用したように、ビューポートは即座にそのポイントにジャンプします。

HTML:

<h3>Audiosurf</h3>
<div id="asContainerWrapper">
    <iframe id="asContainer" scrolling="no"></iframe>
</div>

JavaScript:

$(document).ready(function(){
    $('#asContainer').attr('src','//audio-surf.com/mypage.php?u=DJDavid98#favorites_container');
});
4

2 に答える 2

7

最初の答えを使って、私はこれを思いつきました:

http://jsfiddle.net/UZZ4c/1/

ご覧のとおり、ショーの前に iframe をロードして再スクロールしている間、iframe を非表示にして表示しているだけです。

私の最初の考えは、スクロールする必要はないということです。iframe 要素はロード時に表示されず、ブラウザーはアンカーhttp://jsfiddle.net/UZZ4c/2/までスクロールするべきではありませんが、この理論をテストしていないので、あなたに任せます。

非表示の iframe の代わりにローダーを配置することをお勧めします。

#asContainer { display: none; }

$(document).ready(function() {
    $('#asContainer').attr("src", "//audio-surf.com/mypage.php?u=DJDavid98#favorites_container").on('load', function() {
        $(this).show();
    });
});
于 2013-01-22T19:50:01.803 に答える
1

これについてあなたができることは何もありません。問題は、アンカーを使用してソース サイトにリンクしてページを移動する方法にあります。通常の Web サイトでのデモ:

$(document).ready(function(){
    $('#asContainer').attr("src","http://www.lolwut.com");
});

http://jsfiddle.net/WGZUj/

埋め込もうとしているサイトのデモ:

$(document).ready(function(){
    $('#asContainer').attr('src','//audio-surf.com/mypage.php?u=DJDavid98#favorites_container');
});

http://jsfiddle.net/UZZ4c/

理論上、これを回避する 1 つの戦略は、iframe がロードされたことを検出してから元の位置に戻すことですが、これは不可能です。

于 2013-01-22T18:38:03.437 に答える