使用window.open打开新标签时是否共享Chrome扩展内容脚本范围(自Chrome 45开始)?

时间:2015-09-07 17:25:59

标签: javascript google-chrome google-chrome-extension

我有一个扩展程序,在Chrome(45)的最新更新之前一直工作正常。

问题在于,用于为每个选项卡单独加载的内容脚本现在似乎在打开的选项卡和其开启工具选项卡之间共享范围(使用window.open时),只要新选项卡位于同一个选项卡上域名作为开启者。

有趣的是,直到今天,当我的Chrome更新到最新的稳定版本(45)时,情况并非如此,但我无法在发布说明中找到有关此内容的任何内容(很可能是我错过了它。)

我的问题是这是否确实是新Chrome的变化?如果是的话,我该如何防止这种情况发生或解决呢?

2 个答案:

答案 0 :(得分:2)

根据您的内容脚本的不同,可能有不同的方法来解决问题。

到目前为止,我已经注意到在Chrome浏览器45中发送到chrome.tabs.sendMessage(tabId, {message:"text"})的{​​{1}}也被此标签的开启标签的内容脚本收到,其解决方法是(暗示您要将消息发送到主框架的内容脚本):

tabId

我认为这是一个错误,显然它是在this fixthis bug中引入的。

答案 1 :(得分:-4)

除了一些功能外,您尚未说明有关扩展的任何信息。但是,如果您只是需要扩展功能并要求并寻找稳定的环境,我建议您坚持使用您最熟悉的网络浏览器版本,并且您有丰富的经验。无需始终关注更新。 您遇到的更改可能只是需要修补程序的弃用代码。

另外,我没有时间检查chrome 45中的所有更改,但是,我目睹的主要更改是tab loader standby(对Firefox来说并不新鲜)。