【发布时间】:2012-06-09 06:16:31
【问题描述】:
我有一个打开窗口的链接,window.open("mytest.aspx"); 我遇到的问题是,当他们关闭该弹出窗口时,我需要在父页面上隐藏该链接。所以基本上,如何从使用 window.open() 打开的弹出窗口中隐藏父页面上的链接(这是一个锚点)?
谢谢
【问题讨论】:
标签: c# javascript asp.net
我有一个打开窗口的链接,window.open("mytest.aspx"); 我遇到的问题是,当他们关闭该弹出窗口时,我需要在父页面上隐藏该链接。所以基本上,如何从使用 window.open() 打开的弹出窗口中隐藏父页面上的链接(这是一个锚点)?
谢谢
【问题讨论】:
标签: c# javascript asp.net
试试这个,链接的JavaScript代码onclick事件:
function OpenPopup()
{
document.getElementById("linkID").style.visibility='hidden';
window.open("mytest.aspx");
}
【讨论】:
我想你可能想看看这个类似的帖子 - The proper way to handle popup closing
OP 和接受的答案使用setInterval 来轮询弹出窗口。关闭后,执行“隐藏锚点”逻辑。
希望这会有所帮助!
【讨论】:
我错过了理解这个问题。您可以执行以下操作:
function Popup(){
parentWindow = this;
window.open('mytest.aspx');
}
在父窗口中有另一个功能:
function hideLink(){
$("#linkID").hide()
}
然后在弹窗前调用如下函数:
parentWindow.hideLink();
我为之前的回答道歉。
【讨论】:
您可以尝试使用 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
【讨论】:
你也许可以尝试这样的事情:
var popup = window.open('mytest.aspx');
popup.onbeforeunload = function(){
document.getElementById("theLink").style.visibility='hidden';
}
请注意,这假定弹出页面与父页面位于同一域中。
【讨论】: