我有一个非常简单的chrome扩展,我试图将消息从后台脚本传递到内容脚本。但chrome.runtime
未定义。
以下是所有代码,因为你可以看到它几乎没有任何代码。在内容脚本中,运行时未定义。
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.runtime.sendMessage({action: 'someAction'},
function(response) {
console.log('Response: ', response);
});
});
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
sendResponse({
user: 'user'
});
});
{
"manifest_version": 2,
"name": "My Extension",
"version": "1.0",
"description": "Some stupid extension",
"browser_action": {
"default_icon": "icons/MyExtensionIcon.png"
},
"icons": {
"48": "icons/MyExtensionIcon.png"
},
"permissions": [
"tabs",
"storage",
"https://*/",
"http://*/"
],
"content_scripts": [
{
"matches": ["*://*.twitter.com/*", "https://twitter.com/*"],
"js": ["js/content.js"]
}
],
"background": {
"scripts": ["js/background.js"],
"persistent": true
},
"web_accessible_resources": [
"js/*",
"css/*"
]
}
其他信息:
答案 0 :(得分:14)
好的我明白了。这绝对是愚蠢的,但看起来这只是一个Heisenbug。通过添加断点或调试器语句,它会导致该值未定义。也许是一个铬虫?
我发誓,每天Chrome感觉更多,而且like Internet Explorer.
更多