2

クラシファイド広告を含む iframe をリストしたいと考えています。アイテムが入手できなくなったときに、ベンダーがページをホームページにリダイレクトすることがあります。これを識別できるようにして、商品が販売されたと仮定してインデックスを解除できるようにしたいと考えています。これを達成するための最良の方法は何ですか?

4

3 に答える 3

2

onload または reload を起動する jQuery の load 関数を使用できます。

http://api.jquery.com/load/

iframe がリロードされた回数を保存する必要があります。

何かのようなもの、

var reloaded = 0;
$("#iframe_id").load(function(){
    reloaded++;
});
于 2012-12-18T00:30:54.777 に答える
0

CORSに適切なヘッダーが設定されていない限り、iframe が別のドメインにある場合、iframe の場所を検出できません。

他のドメインを気にせずにこれを行う唯一の方法は、サーバー側のコードでページをチェックして、リダイレクトされるかどうかを確認することです。

于 2012-12-18T00:30:30.810 に答える
0

フレームの読み込み時に、URL を検出します。

var frameLoadCount = 0;
var firstURL;

$('iframe').load(function() {
    if (frameLoadCount === 0) {
        firstURL = $(this).attr('src');
    } else {
        if (firstURL !== $(this).attr('src')) {
            // The iframe has been redirected.
        }
    } 
});

基本的に、上記のコードは iframe が読み込まれるたびに実行され、初めてかどうかを確認し、そうである場合は URL を変数に割り当てます。複数回読み込まれた場合は、元の URL が現在の URL と一致するかどうかを確認します。

特定のソースなどをターゲットにできるため、複数回ロードされているかどうかを確認するだけでメリットがあります。

于 2012-12-18T00:31:54.143 に答える