我注意到当您使用Google Mail的Google Chat功能时,您可以将聊天窗口弹出到其自己的窗口中。然后,当我关闭Google Mail窗口时,它警告说,如果我继续并显示窗口列表,则其他窗口也将被关闭。这是如何完成的?是否有可能跟踪您调用的窗口是否已关闭?浏览器如何或有可能跟踪弹出式窗口
1
A
回答
4
是的,当你做一个JavaScript window.open,你可以将其设置为像一个变种:
myWindow = window.open(...)
然后,你可以将事件绑定到窗口,如:
myWindow.onUnload = funcWindowClosed;
你可以通过将它们放入数组来跟踪多个弹出窗口。
您也可以使用调用父窗口的JavaScript函数由子(弹出)窗口:
window.opener
-2
如果分配给每个新窗口的名称,当你让他们弹出,然后用PHP (或其他)将窗口的名称保存为cookie或会话,然后可以关闭当您采取特定操作时由您的站点创建的所有弹出窗口:
这就是我所做的(在php/js):
function closePopups(){
var popups = Array();
<?
$i = 0;
if(isset($_SESSION['popups'])){
foreach($_SESSION['popups'] as $key=>$pop){
echo "popups[$i] = '$pop';\n";
$i++;
}
unset($_SESSION['popups']);
}
?>
for(i = 0; i < popups.length; i++){
window.open('',popups[i],'width=1,height=1').close();
}
}
在for循环中,您必须首先打开弹出窗口,然后关闭它,以便当前窗口可以查看带有该名称的弹出窗口是否已打开,如果是,则会关闭它。如果不是,它将创建一个具有相同名称的新窗口并立即关闭它。
我这是怎么soleved问题
相关问题
- 1. 弹出式窗口浏览器控件
- 2. 浏览器窗口弹出窗口 - 风险和特殊功能
- 3. 浏览弹出窗口?
- 4. 浏览器选项卡/窗口跟踪模式?
- 5. 如何从ActionScript打开多个弹出式浏览器窗口?
- 6. 解决浏览器弹出窗口
- 7. Javascript登录浏览器弹出窗口
- 8. Java桌面浏览器弹出窗口
- 9. Selenium关闭浏览器弹出窗口
- 10. 如何跟踪触发弹出式窗口的数据事件
- 11. 有没有可能浏览URL而不弹出浏览器
- 12. 可能的WebView OnCreateWindow使弹出窗口(对话框样式)?像Android浏览器
- 13. 在C#中打开浏览器窗口作为弹出窗口#
- 14. 打开新窗口弹出窗口与浏览器分开
- 15. 在新的浏览器窗口GWT弹出窗口
- 16. 在浏览器窗口关闭前显示jQuery弹出窗口
- 17. 从弹出窗口打开新的浏览器窗口
- 18. 被浏览器窗口隐藏的jQuery图像弹出窗口
- 19. 弹出窗口和浏览器动作窗口之间的chrome.storage
- 20. Flex:重新调整浏览器窗口弹出窗口大小
- 21. 弹出窗口window.showModelDialog即HTML弹出的Android浏览器
- 22. window.close()不能在浏览器控件中使用弹出窗口
- 23. 如何从Actionscript(Flash)打开浏览器弹出窗口?
- 24. 如何关闭Chrome浏览器弹出窗口?
- 25. 如何在浏览器关闭时创建弹出窗口
- 26. 如何让浏览器在显示弹出窗口时变暗
- 27. VB.Net Web浏览器控件 - 你如何处理弹出窗口?
- 28. 如何处理Chrome浏览器“选择证书”窗口弹出
- 29. 如何打开弹出的新浏览器窗口?
- 30. 如何查看浏览器弹出窗口将关闭
这并不让我检查,如果他们虽然开放。因此,您无法警告用户他们即将关闭 – Spidy 2011-03-02 18:12:11
您可以在var弹出窗口之前添加一个确认警报模式以确认他们是否要关闭弹出窗口,如果他们这样做,那么运行其余部分该函数,否则返回页面 – Neal 2011-03-02 18:21:42
我认为这是不好的做法,生成这样的js代码。你有我的downvote。 – Angel 2013-03-01 09:11:06