2011-10-27 14 views
2

別のサイトのコンテンツを表示しているiframeを使用しているページがあります。そのコンテンツは、基本的にはウィザード、前方/戻るボタンなどです。コンテンツはajaxを介して更新されます。私は、ユーザーが次のボタンを押したときに、ページを上にスクロールさせるためにさまざまなことを試してきました。仕事への最も可能性が高いように見えたものはそうのようなajaxSuccessイベントに関数を添付しました:クロスサイトコンテンツのiframeがajaxリクエストを終了したときを知ることは可能ですか?

$('#eyeFrame').ajaxSuccess(function() { 
     alert('Triggered ajaxSuccess handler'); 
    }); 

しかし、それは解雇することはありません。 iframe内のそのコンテンツとやりとりしたり、iframeがいくつかのajaxを開始したかどうかを判断するためにできることは何もないようです。それは正しいのですか、これを行う方法は私が見ていないのですか?

+0

javascriptコンソールでネットワーク接続を確認します。 – Neal

+0

@Nealはうまくいくようですが、すばやい検索で私のJSから見ることができる唯一のネット通話は私のドメインにあると信じています。私はJSからのすべてのネットワーク活動を表示するリンクを得ましたか? – jcollum

+0

@Nealこのコードを追加しました: '$("#eyeFrame ")bind({ ajaxStart:function(){alert( 'ajaxStart');} });私はiframeの中からいくつかのajaxをやったときには起動しませんでした。 – jcollum

答えて

1

iframeの場所が同じドメインに属している場合は、$( '#eyeFrame')を使用できます。load(function(){/ * * /}); とにかくいくつかの欠点がある http://api.jquery.com/load-event/

別のドメインについては、私は解決策がわかりません。

+1

別のドメインの場合、ブラウザのセキュリティのために解決策はありません。 –

+0

それは私が – FreeCandies

+0

と言うことを忘れたのですが、iframe内のページからのajax呼び出しが発生したときに.loadはトリガーされません。それは私たちが親ページから聞くことができるものではありません。 –

関連する問題