0

我有打开一个窗口的链接,window.open("mytest.aspx");我遇到的问题是当他们关闭该弹出窗口时,我需要在父页面上隐藏该链接。所以基本上,如何从使用 window.open() 打开的弹出窗口中隐藏父页面上的链接(这是一个锚点)?

谢谢

4

5 回答 5

2

试试这个,链接的 JavaScript 代码 onclick 事件:

function OpenPopup()
{
  document.getElementById("linkID").style.visibility='hidden';
  window.open("mytest.aspx");
}
于 2012-06-08T19:28:14.393 回答
0

我想念这个问题。您可以执行以下操作:

function Popup(){
  parentWindow = this;
  window.open('mytest.aspx');  
}

在父窗口中有另一个功能:

function hideLink(){
  $("#linkID").hide()
}

然后在弹出窗口之前调用以下函数:

parentWindow.hideLink();

我为之前的回答道歉。

于 2012-06-08T19:24:03.320 回答
0

我想你可能想看看这个类似的帖子 -处理弹出关闭的正确方法

OP 和接受的答案用于setInterval轮询弹出窗口。关闭后,执行“隐藏锚点”逻辑。

希望这可以帮助!

于 2012-06-08T19:34:47.947 回答
0

您可以尝试使用 onunload 事件仅在窗口关闭时隐藏链接,“hr1”是您在打开页面上的链接 ID:

在您弹出的页面上

function CloseOpener(){ 
window.opener.document.getElementById('hr1').style.display='none'; 
} 

然后在同一个弹出页面上:

<body onunload="CloseOpener();"> </body>

或者使用同一页面上的单独按钮来触发关闭:

 <input id="Button1" type="button" value="button" onclick="CloseOpener();"/>

我已经对此进行了测试,它适用于我安装的浏览器,但在使用此事件时仍有一些注意事项,您可以在此处了解它:onunload not working in Chrome and safari

于 2012-06-08T19:46:42.920 回答
0

您也许可以尝试这样的事情:

var popup = window.open('mytest.aspx');
popup.onbeforeunload = function(){ 
   document.getElementById("theLink").style.visibility='hidden';   
}

请注意,这假定弹出页面与父页面位于同一域中。

于 2012-06-08T22:16:31.133 回答