Chrome background.js无法运行,除非每次首次打开Chrome时都在扩展页面中手动点击刷新图标

时间:2018-08-16 08:13:51

标签: google-chrome-extension

最近,我正在开发一个扩展,该扩展可以侦听制表符的更改并根据它进行一些操作。现在,我在background.js的chrome.runtime.onInstalled.addListener中编写了我的主要逻辑。我使用解压后的版本进行开发。但是,要使扩展程序正常工作,我需要在首次打开chrome窗口时每次都手动进入扩展程序页面并单击“刷新”图标,否则它将无法正常工作。有没有一种方法可以使background.js在无需手动单击刷新按钮的情况下运行代码?我尝试了onStartup,但没有成功。

1 个答案:

答案 0 :(得分:0)

虽然不理想,但是如果将manifest.json修改为...,则可以使后台脚本持久运行。

{
  "name": "My extension",
  ...
  "background": {
    "scripts": ["background.js"],
    "persistent": true
  },
  ...
}

不建议这样做,因为后台脚本会占用大量资源,因此您应该使用chromes消息传递API之类的东西仅在设置/特定事件上运行。

如果您需要考虑更改后台脚本,请查看this以获取更多信息。