使链接从window.open弹出窗口消失

时间:2012-06-08 19:19:52

标签: c# javascript asp.net

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

谢谢

5 个答案:

答案 0 :(得分:2)

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

function OpenPopup()
{
  document.getElementById("linkID").style.visibility='hidden';
  window.open("mytest.aspx");
}

答案 1 :(得分:0)

我想念这个问题。你可以这样做:

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

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

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

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

parentWindow.hideLink();

我为之前的回答道歉。

答案 2 :(得分:0)

我想你可能想看看这篇类似的帖子 - The proper way to handle popup closing

OP和接受的答案使用setInterval来轮询弹出窗口。关闭后,执行您的隐藏锚点#39;逻辑。

希望这有帮助!

答案 3 :(得分: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

答案 4 :(得分:0)

您可以尝试这样的事情:

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

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