有没有办法获得所有打开的浏览器窗口的列表,如果它们来自与试图获取列表的窗口相同的域?Javascript:查找具有相同域名的浏览器窗口打开
回答
一般来说,没有。
除非窗口之间存在“连接”(例如,一个窗口使用window.open
打开所有其他窗口),否则由于安全原因,浏览器窗口无法进行交互。
编辑:
如果您分配一个名称,你的窗口,你可以刷新父页面后重新获得控制权。
windowVar = window.open('somePage.html', 'windowName');
打开与名windowName
一个子窗口。刷新父页面后,
windowVar = window.open('', 'windowName');
将变量windowVar
与名称windowName
的窗口重新关联。现在,
windowVar.location.href= 'logout.html';
可让您注销您的用户。
编辑:
假设你使用PHP,你可以做这样的事情:
与函数logged_in
指验证会话ID仍然有效创建logged.php
。
<?php
if (isset($_GET['sid']))
if (logged_in($_GET['sid']))
echo "in";
else
echo "out";
?>
包括在你的网页check()
功能。
function check()
{
var url = "http://redtwitz.com/test/logged.php?sid=" + sessionId;
var request;
try
{
request = new XMLHttpRequest();
}
catch(error1)
{
try
{
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(error2)
{
request = new ActiveXObject("Microsoft.XMLHTTP");
}
}
request.open("GET", url, false);
request.setRequestHeader("User-Agent",navigator.userAgent);
request.send(null);
if(request.status==200)
if(request.responseText == "out")
window.location.href = "logout.html";
}
每5秒呼叫检查一次。
<body onload="setInterval(check, 5000);">
一个窗口实际上打开另一个窗口,但我注意到如果我重新加载父页面,子页面不再连接到父窗口。 – AndroidDev
@AndroidDev这似乎是正确的,因为调用者窗口的JS窗口对象是一个新的,如果你重新加载页面。 – HerrSerker
因此,如果我的父页面有一个退出按钮,当按下时会导致父页面重新加载,但子页面仍然看起来像已经登录。由于家长无法与孩子进行通信,因此可能有何可能让孩子重新加载自己?我注意到,如果您在Gmail中执行此操作,则两者保持同步。也许谷歌正在轮询两个窗口来完成这个? – AndroidDev
或者,您也可以实现浏览器扩展程序,并通过使用扩展API做你的任务:http://code.google.com/chrome/extensions/tabs.html 但它会在只有Chrome浏览器工作。
- 1. JavaScript:使用浏览器打开窗口
- 2. 打开窗口浏览器
- 3. 防止浏览器窗口时,Chrome浏览器开发工具窗格打开
- 4. Safari会将浏览器窗口名称与打开它的域相关联吗?
- 5. 使用Watir查找当前打开的浏览器(firefox)窗口
- 6. 打开没有菜单栏的浏览器窗口(JavaScript?)
- 7. 浏览器后面的打开窗口
- 8. 打开窗口,浏览它
- 9. 用Ruby打开浏览器窗口?
- 10. VSIX:打开浏览器窗口
- 11. 打开新窗口弹出窗口与浏览器分开
- 12. 从swt浏览器打开外部浏览器窗口
- 13. MASM - 查找浏览器窗口标题?
- 14. 使用javascript打开新的https浏览器窗口
- 15. 如何使用JavaScript打开新的浏览器窗口?
- 16. 使用javascript捕获新的浏览器窗口打开事件
- 17. 从弹出窗口打开新的浏览器窗口
- 18. XFDF pdf在IE浏览器的同一窗口中打开
- 19. 刷新窗口运行命令相同的浏览器窗口
- 20. 打开的文件已经在窗口浏览器中打开
- 21. 查找并填写在一个领域在浏览器窗口
- 22. 如何确认浏览器窗口已打开,并使用Javascript?
- 23. 从JavaScript中打开文件浏览器窗口
- 24. 如何在javascript中打开pdf文件新浏览器窗口
- 25. javascript:防止在浏览器中打开第二个_blank窗口?
- 26. android webview从Javascript中打开浏览器窗口
- 27. 在C#中打开浏览器窗口作为弹出窗口#
- 28. 从子窗口打开子浏览器窗口
- 29. 打开一个与facebook窗口功能相同的JavaScript窗口
- 30. 将模式窗口打开浏览器滚动条打开
非常非常可疑。 JavaScript是(在大多数浏览器中?)沙盒到当前选项卡/窗口。 – meagar