2011-10-26 13 views
7

親ページ内に非常に長いiframeがあります。 iフレームのページ内のリンクをリロードまたはクリックすると、そのフレーム内に読み込まれますが、純粋なウィンドウは上にスクロールする必要があります。

私はvariuosコード例試してみました:jquery which event is better thatn thisHow to scroll parent page with iFrame reload 親ページ本体コード:

<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function() { 
    $('iframe').load(function(){ 
     $(window).scrollTop(0); 
    }); 
});</script> 
<iframe frameborder="0" height="1000" id="iframe" src="http://mysite.com" width="800"></iframe> 

そして今、これは親ページで私の最終的なコードです:(それは動作しません)

<script type="text/javascript"> 
$('iframe').ready(function(){ 
    $(window).scrollTop(0); 
}); 
</script> 
<iframe frameborder="0" height="1000" id="iframe" align="top" src="http://foicam.altervista.org/listadinamica.php" width="800" ></iframe> 
は、

しかし、問題は、フレームが完全に読み込まれた後に各コードが親ページをスクロールすることです(画像が含まれます)。欲しいのは、をロードする前に、親ページがスクロールアップしていることです。

最後の画像をクリックするか、ページを下にスクロールしてiframeのみをリロードすると、何を意味するのかがわかります。

たくさんの気高く、申し訳ありませんが、私はこの言語の存在を発見しました午後午後!

+0

動作しないコードブロックの最初のコードブロックをダンプした理由は説明していません。 – Sparky

答えて

12
にコードを変更し

:あなたのiframeがあなたのDOMの一部である前に、あなたのスクリプトが呼び出されている

<iframe frameborder="0" height="1000" id="iframe" align="top" src="http://foicam.altervista.org/listadinamica.php" width="800" ></iframe> 

<script type="text/javascript"> 
$('iframe').ready(function(){ 
    $(window).scrollTop(0); 
}); 
</script> 

。あなたのiframeがあなたのDOMの一部である後にあなたのスクリプトを置くと、それはそれを認識し、$('iframe')は実際にオブジェクトを見つけるでしょう。

+5

それはまったく気にしません。:-( – Lork

+2

これはうまくいきます。Jquery 2.0と最新のブラウザ – Julian

+0

Not working。あなたは答えを投稿する前にチェックしていません! – tylik

3

スクリプトはソースのiframeの前に表示され、実行を遅らせるものはありません(onreadyなどで呼び出されます)。

したがって、iframeが実行されると、iframeはDOMに追加されず、セレクタはフレームを検出しません。イベントハンドラは、より前のと表示されているiframeにのみバインドされます。

+0

だから解決策は何ができますか? – Lork

+0

申し訳ありませんが、私は理解できません。私はスクリプトの実行を遅らせたくない!反対です!フレームがロードされた後にスクリプトが実行されるようになりました。私はフレームを変更するたびにそれを実行したいと思うsrc ...助けてください! – Lork

+2

@クエンティン私はこれに少し遅れて来ると知っていますが、 "私の答えの最初の段落は、問題はXとYによって引き起こされると言います.XまたはYのどちらかを変更してもはや真ではありません。ただの反応です。あなたがそれを行う方法が分からなければ、どうやってその人に知りたいと思うでしょうか?それは、それが作られた後ずっと他の誰かが来て、それについてコメントしたような貧しい反応でした。 – coder543

関連する問題