10

ここで間違った質問をしている可能性があるので、私が達成しようとしていることについて少し詳しく説明します。

サードパーティのWebアプリを使用してサポートチケットを追跡しています。ユーザーが入力してドメインに送信するフォームのコードを提供します。このフォームを2つの異なるドメインで使用したいのですが、残念ながら、サードパーティはハードコードされた単一のリダイレクト値を使用しています。これにより、送信後に私のサイトの1つがドメインを切り替えます。

フォームをiFrameに埋め込んで、フォームの送信が成功したときにリダイレクトを検出し、代わりに自分のページの1つにリダイレクトできると考えていました。

擬似コード:

iframe.detectRedirection
if (redirect == 'xyz.html') {  
     //do my own redirection in main window.
}

では、元の質問に戻りましょう。iframeでリダイレクトを検出するにはどうすればよいですか?

4

1 に答える 1

12

あなたは試すことができます

$("iframe").load(function(){
    //The iframe has loaded or reloaded. 
});

フレームの読み込みと更新を検出します

2回目のロードでリダイレクトが発生した場合

//var to count times iframe has loaded
var timesRefreshed = 0;

//detect iframe loading/refreshing
$("iframe").load(function(){

    //if second refresh, change frame src - ie dont count first load
    if(timesRefreshed == 1){
        $(this).attr("src","my site url here");
    }

    //add to times resreshed counter
    timesRefreshed++; 

});

より多くのステージがある場合は、xをステージの数に変更するだけです

if(timesRefreshed == x)

これは完全な証拠ではありません。つまり、他のサイトがステージなどを追加した場合に破損する可能性がありますが、他のサイトを制御できない場合は、私が考えることができる最善の方法です。

于 2012-04-24T15:56:08.193 に答える