jQueryのは、(そのテキストによって)のiframe内の要素を見つけ、それに.click機能を追加します

StackOverflow https://stackoverflow.com/questions/1508442

質問

私は、ウェブページ(A)を持っていると私はIFRAMEを使用して、私のメインページ(B)に(A)を埋め込むています。この(A)は、ブラウザウィンドウを閉じリンクが含まれています:

<a href="" onclick="window.opener = window;
    window.close();
    return false;">Close The Page</a>

私は(A)のembeddので、(A)に近い能力は、もはや機能していません。このリンクは、(B)からクリックされたときに、私は何をする必要があることは、私は私のiframeを非表示にする、言い換えれば、それはクロージングのように見えるようにされます。だから私は、それが(B)がクリックされているかどうかをiframe内にそのリンクに到達し、理解する必要がありますか?

ヘルプしてください。

おかげ

役に立ちましたか?

解決

私は次のように動作します考えています。私たちは基本的にあなたのIFRAMEの内容に「見つける」を実行しています。私たちは私たちが望むのリンクを見つけたら、私たちは、親ドキュメント内の適切はiframeを閉じますそれにイベントをバインドします。あなたのiframeがあなたの親ページと同じドメイン上になければならないことに注意してください、またはあなたがその要素にアクセスすることはできません。また、私は選択にそれを容易にするためのリンクにクラスを追加しました。私はあなたにもこれを行うお勧めします。

$("#iframeID").contents().find("a.closeWindow").bind("click", function(){
  $("#iframeID", top.document).hide();
});
あなたは絶対にリンクのテキストに結合をベースにする必要がある場合は、

は、適切なものを見つけるためにリンクを介して循環する必要があります:

$("a", $("#iframeID").contents()).each(function(){
  if ($(this).text() == "Close The Page") {
    $(this).bind("click", function() { 
      $("#iframeID", top.document).hide(); 
    });
  }
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top