假設我的網站在兩個選項卡中打開,我想獲取ID爲「id」的元素,我可以以某種方式獲取當前焦點瀏覽器選項卡中的元素嗎?有沒有辦法區分具有相同ID但具有不同瀏覽器選項卡的元素?
document.getElementById("id");
似乎得到最近加載的元素。
假設我的網站在兩個選項卡中打開,我想獲取ID爲「id」的元素,我可以以某種方式獲取當前焦點瀏覽器選項卡中的元素嗎?有沒有辦法區分具有相同ID但具有不同瀏覽器選項卡的元素?
document.getElementById("id");
似乎得到最近加載的元素。
不,因爲這將是一個巨大的安全漏洞。
在stackoverflow上有類似的問題:Accessing the content of other tabs in browser。
This answer給鏈接的問題提供了代碼來做到這一點,但我在過去使用IE時遇到了問題,當試圖在其他文檔上指定事件處理程序(雖然在Firefox中工作正常)。
那麼爲什麼它的工作方式?我的意思是,假設我在tab nr1中,並且文檔具有id ='id'的輸入元素。現在,我打開tab nr2,切換到它並將id ='id'的元素的值設置爲'xyz'。如果我切換到製表符nr1,並嘗試打印輸入的值,它會顯示'xyz'而不是''或之前的任何內容。 – Bogdan 2012-02-23 08:17:57
至於你鏈接的答案,我認爲這將工作,當我打開JavaScript的新標籤,但在我試圖解決的情況下,用戶強制從瀏覽器內的新標籤 – Bogdan 2012-02-23 08:20:53
訪問用戶創建的標籤通過Javascript不應該也不可能。如果確實如此,請向您的瀏覽器供應商提交錯誤報告;) – knittl 2012-02-23 08:28:22
你的意思是瀏覽器選項卡? – Purag 2012-02-23 08:06:37
@Purmou是的,編輯爲清晰 – Bogdan 2012-02-23 08:07:41