所以我正在构建一个'喜欢'按钮但是在用户通过小窗口登录后我遇到了一个小问题,用户必须刷新整个页面。我希望它检查窗口是否已关闭,然后刷新iframe。所以我有这个代码打开弹出窗口,我一直在看这篇帖子寻求帮助,但这并没有帮助那么多。 Check if a popup window is closed
function grubber_highlight()
{
var popup = window.open("http://www.grubber.co.nz/login/", "newwindow", config="height=600,width=800, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no");
var windowloc = document.URL;
var windowlocation = (windowloc + "&highlight=t");
window.location = windowlocation;
if (popup) {
popup.onclose = function () { alert("closed"); }
}
}
我有这个代码来检查窗口是否已关闭,然后提醒我它已经工作
if (popup) {
popup.onclose = function () { alert("closed"); }
}
小窗口就在这里 http://www.grubber.co.nz/login/ 如果有人想要知道的话。
我还希望它能够在大多数浏览器上工作ie8
修改 我用谷歌搜索了一个但更深,发现 onunload 它在关闭时起作用但是当我打开窗口时它也会激活......
问题
如何检测窗口何时关闭,然后刷新iframe
答案 0 :(得分:2)
假设这是弹出窗口的打开方式:
win = window.open(...);
然后,您应该反复检查弹出窗口是否已关闭。
var timer, win;
function polling(){
if (win && win.closed) {
clearInterval(timer);
alert('popup window is closed.');
}
}
timer = setInterval('polling()',100);
<强>更新:强> 讨论了另一种技术here
答案 1 :(得分:1)
好的谢谢你的家伙但是我用 onunload 活动找到我想要的答案
var popup = window.open("http://www.grubber.co.nz/login/", "newwindow", config="height=600,width=800, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, directories=no, status=no");
var windowloc = document.URL;
var windowlocation = (windowloc + "&highlight=t");
window.location = windowlocation;
var e = 0;
if (popup) {
popup.onunload = function () {
if (e == 1)
{
//this will reload the iframe
alert("closed");
}
else
{
//this will be when the pop-up gets created
e++;
}
}