0

我的扩展程序只在一个选项卡中运行。我希望我的内容脚本可以在该选项卡中打开的任何网页上运行,但只能在该选项卡中打开的页面上运行。

有没有办法我可以做到这一点?

4

1 回答 1

1

它不是直接可能的,因为由于安全策略,扩展加载基于 url 而不是选项卡的内容脚本。你可以试试这个:

  • 创建一个后台脚本并定义一个函数,该函数确定您是否希望将内容脚本加载到指定的选项卡中(使用选项卡 ID来识别选项卡)。
  • 创建一个在所有 url上加载的内容脚本(称为 loader.js)。
  • 从它调用后台脚本函数(使用 chrome.runtime.sendMessage与后台脚本通信)来确定是否加载主脚本。
  • 如果是肯定的,您可以继续从 loader.js 加载您的主要内容脚本。
于 2013-07-29T17:37:20.823 回答