5

我有一个网页 (A),我正在使用 iframe 将 (A) 嵌入到我的主页 (B)。此 (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 回答