5

Webページ(A)があり、iframeを使用してメインページ(B)に(A)を埋め込んでいます。この(A)には、ブラウザウィンドウを閉じるリンクが含まれています。

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

(A)を埋め込んだので、(A)の近接能力は機能しなくなりました。(B)からこのリンクをクリックすると、iframeを非表示にします。つまり、閉じているように見せます。したがって、iframe内のそのリンクにアクセスして、クリックされているかどうかを理解する必要があります(B)?

助けてください。

ありがとう

4

1 に答える 1

11

私は次のことがうまくいくと思っています。基本的に、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(); 
    });
  }
});
于 2009-10-02T11:33:42.730 に答える