javascript - 谷歌浏览器扩展程序可以处于休眠状态但可以调用吗?

标签 javascript google-chrome google-chrome-extension

我计划开发一个 google chrome 扩展,它将有助于家庭酿造功能测试框架。这是谜题:

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

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

这可能吗?如果是这样,

  • 我的 list 中应该包含什么?
  • 如何在我的测试页 JavaScript 中实现唤醒调用?
  • 可以在我开发扩展程序时在获得 ID 之前进行调用吗?

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

最佳答案

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

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

    “外部可连接”:{ “匹配”:[“://.example.com/*”] }

    例如:*://*.example.com/*

    不是*://*.com

  2. 有关 Chrome 扩展消息传递的更多信息,请参见此处: https://developer.chrome.com/extensions/messaging#external-webpage

  3. 您需要为通信指定一个 ID。您可以通过访问 chrome://extensions

  4. 获取您的扩展程序 ID

由于不知道您的堆栈或构建过程,我会在各自的文件中使用我的开发和产品 ID 设置单独的开发和产品配置文件。这将有助于避免在将应用程序发布到生产环境时指向您的开发扩展。

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

关于javascript - 谷歌浏览器扩展程序可以处于休眠状态但可以调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43786923/

相关文章:

javascript - 关闭 Chrome 扩展中的当前选项卡

javascript - 如何在按钮标签内使用 if 条件

javascript - 如果另一个元素为空则隐藏元素

html - Google Chrome 预渲染中的 "cookie conflict"

javascript - Chrome 扩展在每个选项卡更改时获取当前域

api - Spotify 播放按钮不起作用 - 在最近的 Chrome 中仅播放预览

javascript - Chrome 扩展 - 使用 javascript 更改内容

google-chrome-extension - chrome.tabs.executeScript引发错误 “Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url …”

javascript - 检查下拉状态

javascript - 没有jQuery的延迟下拉菜单