我有很多代码,我只想在用户点击扩展程序图标时运行。我宁愿不为每个打开的标签运行它。因此,使用清单文件中的content_scripts条目不是最佳选择。但是,当我以编程方式注入脚本时,我无法看到开发人员工具中的脚本列表中显示的内容脚本。我现在很好地开发内容脚本,但在某些时候我想避免使用它。
我在整个地方运行日志记录,并执行消息传递。所以我非常清楚这些脚本已成功注入并运行,但它们根本无法显示在文件列表中。
在代码中,以下工作只是花花公子(在清单中):
{
// ...
"content_scripts": [{
"matches": ["<all_urls>"],
"css": ["style/content.css"],
"js": [
"closure/goog/base.js",
"closure/goog/deps.js",
"util.js",
"AddressRE.js",
// ...
"makeRequests.js"
]
}]
}
onClick后执行以下操作不会:
function executeNextScript(tabId, files, callback) {
chrome.tabs.executeScript(tabId, {
file: files.pop()
}, function () {
if (files.length)
executeNextScript(tabId, files, callback);
else
callback();
});
}
function executeScripts(tabId, callback) {
var files = [
"closure/goog/base.js",
"closure/goog/deps.js",
"util.js",
// ...
"makeRequests.js"
];
executeNextScript(tabId, files.reverse(), callback);
}
答案 0 :(得分:2)
您可以使用debugger
JavaScript关键字在代码中设置断点。
答案 1 :(得分:1)
我将//@ sourceURL=myscript.js
添加到任何已注入的脚本中,并在注入后将其添加到源列表中