我有很多代碼,我只想在用戶單擊擴展名圖標時運行。我寧願不是它運行的每個標籤打開。因此,在清單文件中使用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);
}