Javascript 浏览器如何或可能跟踪弹出窗口
我注意到,当使用谷歌邮件中的谷歌聊天功能时,你可以将聊天弹出到它自己的窗口中。然后,当我去关闭谷歌邮件窗口时,它警告说,如果我继续,其他窗口也将关闭,然后显示一个窗口列表。这是怎么做到的?是否可以跟踪您调用的窗口是否已关闭?是的,在JavaScript中执行window.open时,您可以将其设置为变量,如:Javascript 浏览器如何或可能跟踪弹出窗口,javascript,html,popup,Javascript,Html,Popup,我注意到,当使用谷歌邮件中的谷歌聊天功能时,你可以将聊天弹出到它自己的窗口中。然后,当我去关闭谷歌邮件窗口时,它警告说,如果我继续,其他窗口也将关闭,然后显示一个窗口列表。这是怎么做到的?是否可以跟踪您调用的窗口是否已关闭?是的,在JavaScript中执行window.open时,您可以将其设置为变量,如: myWindow = window.open(...) 然后可以将事件绑定到该窗口,如: myWindow.onUnload = funcWindowClosed; 您可以通过将多个弹
myWindow = window.open(...)
然后可以将事件绑定到该窗口,如:
myWindow.onUnload = funcWindowClosed;
您可以通过将多个弹出窗口放入一个数组来跟踪它们
您还可以通过子窗口(弹出窗口)调用父窗口中的JavaScript函数,方法是:
window.opener
如果在使每个新窗口成为弹出窗口时为其指定名称,然后使用php(或其他任何工具)将窗口名称保存到cookie或会话中,则在执行特定操作时,您可以关闭站点创建的所有弹出窗口: 这就是我所做的(在php/js中):
函数特写窗口(){
var popups=Array();
这不让我检查它们是否是打开的。所以你不能警告用户他们即将被关闭。你可以在VAR弹出窗口前添加确认警报模式来确认他们是否想要关闭弹出窗口,如果他们这样做了,那么运行剩下的函数,否则返回到PGEI认为生成THA代码就像THA一样是不好的做法。t、 我投你反对票。
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();
}
}