【发布时间】:2016-11-02 00:23:21
【问题描述】:
我的 Chrome 扩展程序似乎没有以任何方式执行 console.log。它会跳过它。
console.log 工作:我可以打开控制台,输入console.log('test'); 并且它工作。它适用于其他脚本,即本地加载到 HTML 页面中的 JS 脚本,但不适用于我的扩展。
我的background.js 在下面通过manifest.json 运行。它执行alert(),但不执行console.log
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, { file: "jquery-3.0.0.min.js" }, function() {
console.log('----');
alert('Hello!);
});
});
我试过了:
-
delete console.log、delete window.console和delete window[console]按照 Restoring console.log() 和 JavaScript console log in Magento 的建议,但没有成功。 - 在隐身模式下加载了扩展,没有加载其他扩展,但没有成功。
- 将
background.js更新为仅包含一行 -console.log('----');- 仍然无法正常工作。 - 确保控制台报告“全部”,而不仅仅是错误。
我的manifest.json:
{
"manifest_version": 2,
"name": "My Chrome Extension",
"description": "This extension will you save time.",
"version": "1.0",
"permissions": [
"http://*/*",
"https://*/*",
"tabs"
],
"browser_action": {
"name": "Click to start the extension"
},
"background": {
"scripts": ["background.js"]
}
}
【问题讨论】:
-
后台页面、弹出页面、网页都是独立的窗口,有自己的控制台。启用 [x] 开发人员模式后,可以在 chrome://extensions 页面上打开后台页面控制台。我相信这个问题被问过很多次了。
-
@wOxxOm “我相信这个问题被问过很多次了。”你没有错。
-
实际上问题出在我的 background.js 中没有运行
executeScipts。通过这样做,我在活动窗口控制台中包含了控制台日志。
标签: google-chrome-extension console.log