我正在使用ASP.net和VB.net开发一个应用程序。在该应用程序中,我在弹出窗口中编写了这个简单的javascript函数,以便在弹出窗口关闭时刷新父窗口。
function RefreshParent() {
if (window.opener != null && !window.opener.closed) {
window.opener.location.reload();
}
}
window.onbeforeunload = RefreshParent;
这很好用。但突然间它停止了工作。它仍然在Firefox和Internet Explorer上工作。
这不仅仅是我个人电脑的问题。我从每个使用chrome访问应用程序的用户那里得到了这个问题。
功能正常。它突然停止了工作。而且我可以保证没有发生可能导致这种情况发生的变化。它仍在使用Firefox和IE
但我尝试了以下操作,看看问题是否与Chrome设置有关
查看是否启用了javascript我在浏览器的预先设置中仔细检查了内容设置部分。允许所有站点运行Javascript选项已选中。
我还重新安装了chrome。
根据Jeremy的建议,我在javascript函数中添加了两个警报,以查看是否访问了该函数。
function RefreshParent() {
alert("Accessed the function!");
if (window.opener != null && !window.opener.closed) {
window.opener.location.reload();
}
}
alert("refreshed parent window!");
window.onbeforeunload = RefreshParent;
我只能看到第二个警报。但是当我点击打开弹出窗口时会出现此警报。
此外,当我添加这两个警报时,刷新功能也会在firefox中停止工作(我没有签入,即启用警报。)
如何解决问题
答案 0 :(得分:0)
以下解决方案适合我。在POPUP.vb.aspx POPUP页面中,我在按钮单击
下添加了以下代码行 Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "refresh", "var url = window.opener.location.href; window.opener.location.href = url;", True)
Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "CloseWindowScript", "window.close();", True)
我仍然在asp.net页面中有javascript函数(在问题中提到)。不清楚为什么它突然停止在Chrome中工作。