Javascript 未捕获引用错误:在开发google chrome扩展时未定义XXX
我正在开发一个chrome插件,但是没有定义get XXX…新手错误 我的舱单Javascript 未捕获引用错误:在开发google chrome扩展时未定义XXX,javascript,jquery,google-chrome-extension,Javascript,Jquery,Google Chrome Extension,我正在开发一个chrome插件,但是没有定义get XXX…新手错误 我的舱单 "background": { "scripts": ["js/bg.js"] }, "content_scripts": [{ "matches": [ "https://XXXXXX.com/*" ], "js": ["js/jquery.js", "js/contentParser.js"] 然后,我的contentParser(只是一部分): 我的bg.js
"background": { "scripts": ["js/bg.js"] },
"content_scripts": [{
"matches": [
"https://XXXXXX.com/*"
],
"js": ["js/jquery.js", "js/contentParser.js"]
然后,我的contentParser(只是一部分):
我的bg.js
function checkForValidUrl(tabId, changeInfo, tab) {
if (tab.url.indexOf('https://xxxxx.xxxxxxxx.xxx') > -1) {
chrome.pageAction.show(tabId);
}
}
chrome.pageAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "js/translate.js"});
});
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
checkForValidUrl(tabId, changeInfo, tab);
if(changeInfo.status === 'complete'){
chrome.tabs.executeScript(null, {file: "js/init.js"});
}
});
然后错误出现在my init.js上,ContentParser带下划线:
未捕获引用错误:未定义ContentParser
正如您所看到的,ContentParser.js已经存在于content\u脚本中,我做错了什么?未更新的侦听器在所有选项卡上运行,即使您的
content\u脚本
没有运行任何内容。不清楚为什么要使用onUpdate而不是简单地在content\u脚本中添加“init.js”。看来您的扩展不知道ContentParser
是什么。您是否已将其导入/需要该文件?@nopassport1似乎没有。。。如何正确地做?通过内容脚本?@wOxxOm确定。我将尝试检查,如上所述,contentParser.js已经存在于content\u脚本中。添加init.js也没有效果。同样的错误。未更新的侦听器在所有选项卡上运行,即使是那些您的内容\u脚本没有运行任何内容的选项卡。不清楚为什么要使用onUpdate而不是简单地在content\u脚本中添加“init.js”。看来您的扩展不知道ContentParser
是什么。您是否已将其导入/需要该文件?@nopassport1似乎没有。。。如何正确地做?通过内容脚本?@wOxxOm确定。我将尝试检查,如上所述,contentParser.js已经存在于content\u脚本中。添加init.js也没有效果。同样的错误。
function checkForValidUrl(tabId, changeInfo, tab) {
if (tab.url.indexOf('https://xxxxx.xxxxxxxx.xxx') > -1) {
chrome.pageAction.show(tabId);
}
}
chrome.pageAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "js/translate.js"});
});
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
checkForValidUrl(tabId, changeInfo, tab);
if(changeInfo.status === 'complete'){
chrome.tabs.executeScript(null, {file: "js/init.js"});
}
});
if(typeof document.behouse != 'object'){
alert ('creem objecte');
document.contentParser = new ContentParser(this); // ERROR HERE
document.contentParser.loaded++;
}