4

iframe 内のリンクを含むページでクリックされたリンクを傍受しようとしています。これは私が持っているコードですが、機能していません。私がしなければならないことはありますか?

$("#container").delegate('a', 'click', function(e){ 
//do stuff
}

Container は、iframe のすぐ内側にある div の ID です。

事前にアドバイスをありがとう

4

2 に答える 2

2

の内部に到達し、<iframe>そこにデリゲートを設定する必要があります。次のように実行できます。

$('#myiframe').contents().find("#container").delegate('a', 'click', function(e){ 
  //do stuff
}

編集 - Mailslutは、iframe が同じドメイン (およびポート) にない場合、このようなことはできません。その場合で、その理由を詳しく知りたい場合は、セキュリティ上の理由から、そこにある同一生成元ポリシーについてお読みください。

于 2010-04-29T11:36:10.480 に答える
1

イベントリスナーをiframe内に追加してから、親/オープナーを呼び出してイベントを通知してみませんか。

iframe のコンテンツが別のドメインにある場合、大きなセキュリティ上の脅威である「クリックジャッキング」に分類されるため、これを実行することはできません。

于 2010-04-29T11:43:45.260 に答える