【发布时间】:2015-05-26 10:06:44
【问题描述】:
我正在使用 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 中工作(我没有在警报打开的情况下签入。)
如何解决问题
【问题讨论】:
-
检查你的 chrome 浏览器
Allow popup似乎这可能在你的机器上被阻止了 -
弹出窗口仍然打开。这不仅仅是我电脑的问题。每个使用 chrome 访问应用程序的用户都遇到了这个问题
-
我在我的 php webapp 上使用 window.location.reload 并且它似乎仍然在 chrome 中工作,您是否通过发出警报测试了您的功能是否被访问?尝试在你的函数中放置一个警报,然后在你的 window.reload 之前发出一个警报,看看它到达哪里
-
我没有。怎么做?原谅我的无知我是新手程序员。
-
alert('我访问了函数');就在您的 if 语句上方 alert('I am going to redirect');就在窗口的正上方...reload();
标签: javascript jquery asp.net vb.net google-chrome