簡體   English   中英

當使用window.open打開新標簽頁(自Chrome 45起)時,Chrome擴展程序內容腳本范圍是否共享?

[英]Is Chrome extension Content Script scope shared when opening a new tab with window.open (since Chrome 45)?

我有一個擴展程序,該擴展程序在Chrome的最新更新(45)之前一直可以正常工作。

問題在於,用於新標簽的內容腳本現在似乎可以在一個打開的標簽與其打開的標簽之間共享范圍(使用window.open時),只要新標簽與該標簽位於同一個域中開瓶器。

有趣的是,直到今天,當我的Chrome瀏覽器更新到最新的穩定版本(45)時,情況才如此,但是我在發行說明中找不到關於此的任何信息(很可能我錯過了它)。

我的問題是,新的Chrome是否確實會帶來變化? 如果是的話,如何防止這種情況發生或解決?

根據您的內容腳本執行的操作,可能會有不同的方法來解決該問題。

到目前為止,我注意到在Chrome 45中,此標簽的“打開”標簽的內容腳本也接收了發送到tabId chrome.tabs.sendMessage(tabId, {message:"text"}) ,解決方法是(暗示您要發送消息發送到主機的內容腳本):

try {chrome.tabs.sendMessage(tabId, message, {frameId: 0})} // throws on Chrome prior to 41
catch(e) {chrome.tabs.sendMessage(tabId, message)}

我認為這是一個錯誤,並且顯然是在此錯誤的 此修復程序中引入的。

除了一些擴展功能外,您沒有陳述任何有關擴展的信息。 但是,如果您只需要擴展才能正常工作並需要並尋找穩定的環境,則建議您堅持使用最熟悉的Web瀏覽器版本 無需一直跟蹤更新。 您遇到的更改可能只是需要補丁的不推薦使用的代碼。

另外,我還沒有時間檢查chrome 45的所有更改,但是,我目睹的主要更改是Tab loader Standby(對於firefox而言並不新鮮)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM