Google Chrome扩展程序是否可以休眠而且可以调用?

时间:2017-05-04 15:19:38

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

我计划开发一个谷歌Chrome扩展程序,这将有助于家庭酿造功能测试框架。这就是谜题:

  • 测试页可以驻留在预定义的url模式中。
  • 我不希望通过匹配所有网址模式调用扩展程序,然后然后决定页面不感兴趣。

我想要的是扩展是完全休眠的,并且能够在测试页面内调用它。

这可能吗?如果是的话,

  • 我的清单中应该有什么?
  • 如何在我的测试页面javascript中实现唤醒呼叫?
  • 在我开发扩展程序之前,是否可以在获取ID之前进行调用?

编辑: This answer显示了网页如何调用扩展程序,但它需要扩展程序ID。有没有办法在发布扩展名之前获得临时扩展ID?

1 个答案:

答案 0 :(得分:1)

这是我想到的第一个选项,但您必须在URL模式中指定二级域。

  1. 将此添加到您的manifest.json

    " external_connectable":{   "匹配":[" :// .example.com / *"] }

    因此:*://*.example.com/*

    不是*://*.com

  2. 有关在此处传递Chrome扩展程序消息的详细信息: https://developer.chrome.com/extensions/messaging#external-webpage

  3. 您需要指定通讯的ID。您可以访问chrome://extensions

  4. 来获取您的扩展程序ID

    不知道您的堆栈或构建过程我会在相应的文件中设置一个单独的dev和prod配置文件,其中包含我的dev和prod id。当您将应用程序发布到生产环境时,这有助于避免指向您的开发扩展。

    另一种选择是在每个页面上注入并根据页面内容调用脚本。