有沒有辦法獲得所有打開的瀏覽器窗口的列表,如果它們來自與試圖獲取列表的窗口相同的域?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