當我使用window.open(href)以編程方式打開一個新標籤頁時,兩個標籤頁同步工作,這意味着我停止時在其中之一的JavaScript調試器上,第二個被凍結。這是一個適當的鉻行爲?有辦法解決這個問題嗎?在Firefox中,同樣的問題很好。Chrome瀏覽器在window.open()後同步標籤()
4
A
回答
1
此行爲是正確的。使用Javascript打開的Windows與他們的父母共享一個Javascript解釋器 - 調用window.open()
返回對新窗口的引用,並且子節點可以通過window.opener
獲得對父節點的引用。只要窗口顯示來自相同來源的頁面,運行在兩個窗口中的腳本就可以通過這些引用共享數據,因爲Window對象也是Javascript全局上下文。例如,如果父窗口具有名爲example
的全局變量,則子窗口可以將該變量引用爲window.opener.example
。
由於兩個窗口共享一個Javascript解釋器,因此在調試器中停止其中一個窗口應該停止這兩者。我不知道爲什麼Firefox不這樣做 - 不停止涉及兩個窗口似乎可以使調試某些腳本非常困難。
相關問題
- 1. Chrome瀏覽器的window.open
- 2. Selenium:新標籤沒有在Chrome瀏覽器中打開相同的瀏覽器
- 3. Chrome瀏覽器圖標,同時用JS
- 4. Chrome瀏覽器管理器不改變瀏覽器標籤的標題
- 5. Chrome瀏覽器中的Fullcalendar標籤順序有所不同
- 6. window.open打開的標籤和窗口谷歌瀏覽器
- 7. window.open(URL)在同一標籤
- 8. 互聯網瀏覽器,Chrome瀏覽器Chrome瀏覽器
- 9. 多瀏覽器Windows同步
- 10. Window.Locaton.reload()在不同的瀏覽器(火狐狸,Chrome瀏覽器)
- 11. window.open高度在谷歌瀏覽器不同於其他瀏覽器
- 12. window.open無法在Chrome中使用瀏覽器後退按鈕打開
- 13. Chrome瀏覽器在GetUserMedia後崩潰
- 14. 在Chrome瀏覽器上使用目標
- 15. 保存Chrome瀏覽器標籤/瀏覽器中複選框的狀態在Chrome擴展中
- 16. 在IE瀏覽器中onclick =「window.open」問題
- 17. 瀏覽器標籤存儲?
- 18. JavaScript和瀏覽器標籤
- 19. 與瀏覽器標籤
- 20. 在FF和Internet Explorer中,Chrome瀏覽器中的Chrome瀏覽器
- 21. 使用window.open()調整Chrome瀏覽器窗口的大小問題
- 22. 谷歌Chrome瀏覽器的用戶腳本參考window.open
- 23. 在JS中同步瀏覽器事件
- 24. 谷歌Chrome瀏覽器同步使用Google Apps域
- 25. 兩個瀏覽器之間的Chrome擴展不同步
- 26. Chrome瀏覽器相比,Safari瀏覽器
- 27. 網站標題與Chrome瀏覽器相比在Chrome瀏覽器中顯示的不同
- 28. 在Chrome和Mozilla瀏覽器中顯示不同的Svg圖標
- 29. Chrome瀏覽器在天空
- 30. 無法在Chrome瀏覽器
感謝您的回覆!你知道任何方式來覆蓋這種行爲嗎? – Boltosaurus
使用除window.open()以外的方法打開新窗口,例如讓用戶用'target =「_ blank」'屬性點擊一個鏈接。 – duskwuff