为什么我的后台脚本没有被执行?

时间:2014-06-02 02:28:20

标签: google-chrome-extension google-chrome-devtools

我在Chrome扩展程序中添加了一个简单的后台脚本。

我的manifest.json文件:

{
  "name" : "Test extension",
  "version" : "1.0",
  "description" : "Test extension.",
  "background" : {
    "scripts": ["background.js"]
  },
  "devtools_page": "devtools.html",
  "permissions": ["http://*/*", "https://*/*"],
  "manifest_version": 2
}

我转到chrome://extensions并在background.js中选择Inspect views

它会打开devtools,我会转到Sources并为我的background.js添加一个断点:

function foo() {
    return 5;
}
foo(); //break point here

然后在chrome://extensions重新加载我的扩展程序。 什么都没发生。断点不会被触发。 我的后台脚本是否正在运行?

3 个答案:

答案 0 :(得分:0)

为了重新加载背景页面并仍然保留断点,您应该切换到控制台并输入:

window.location.reload();

答案 1 :(得分:0)

简单的答案......我也挣扎了一段时间......

单击background.html(或background.js)后,它将在SEPARATE调试器窗口中打开。此时,SIMPLY通过从调试器窗口点击F5CTRL-F5键重新加载它(当它处于焦点时)。

注意: MAY 会收到有关重新创建已存在对象的错误(因为它们是您第一次点击页面(或脚本)时创建的)

答案 2 :(得分:0)

更好的方法:从后台的控制台调用chrome.runtime.reload(),重新加载documented call

我测试了它并且断点开火。