所以我的控制台给了我这个消息 -
The page at https://en.wikibooks.org/wiki/Vehicle_Identification_Numbers_(VIN_codes)/GM/VIN_Codes ran insecure content from http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js.
jquerified: true
ERROR: Execution of script 'GMVinCodeScraper' failed! $ is not defined
ReferenceError: $ is not defined
at getGMCodes (eval at <anonymous> (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:57:21))))
at Function.eval (eval at <anonymous> (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:57:21))))
at N (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:57:21)))
at l (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:57:21)))
at chromeEmu.extension.onRequest.addListener.Z (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:57:21)))
at W (eval at eventHandler (eval at <anonymous> (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/content.js:57:21)))
在我的用户脚本中,我正在运行一个自动在页面上包含jquery的函数,似乎已经加载了jquery,因为我可以看到一个带有jquery url的脚本标记作为src属性。
作为参考,功能在这里 -
function jquerify(jquerified){
if(!(window.JQuery && window.Jquery.fn.jquery == '1')){
var s = document.createElement('script');
s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js');
s.setAttribute('type','text/javascript');
document.getElementsByTagName('head')[0].appendChild(s);
jquerified = true;
console.log("jquerified: " + jquerified);
return jquerified;
}
}
jquerify(false);
所以,不确定为什么$不会被定义。知道为什么吗?
最新情况:
使用@require解决了这个问题。
您可以使用@require url来解决这个问题
将其添加到脚本标题中。
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js
然后你可以使用$()
。