我有一个扩展,在 Chrome (45) 最新更新之前一直运行良好。
问题在于,过去为每个选项卡单独加载的内容脚本现在似乎在打开的选项卡及其开启选项卡(使用 window.open 时)之间共享范围,只要新选项卡与旧选项卡位于同一域中。揭幕战。
有趣的是,直到今天,当我的 Chrome 更新到最新的稳定版本 (45) 时,情况才出现这种情况,但我无法在发行说明中找到有关此内容的任何内容(很可能是我错过了)它)。
我的问题是这是否确实是新 Chrome 的改变?如果是的话,我该如何防止这种情况发生或解决它?
根据您的内容脚本的作用,可能有不同的方法来解决问题。
到目前为止我注意到在 Chrome 45 中chrome.tabs.sendMessage(tabId, {message:"text"})
发给tabId
此选项卡的开启选项卡的内容脚本也会收到该消息,解决方法是(意味着您要将消息发送到主框架的内容脚本):
try {chrome.tabs.sendMessage(tabId, message, {frameId: 0})} // throws on Chrome prior to 41
catch(e) {chrome.tabs.sendMessage(tabId, message)}
我认为这是一个错误,显然它是在this fix https://codereview.chromium.org/1225413002 of this bug https://crbug.com/507461.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)