当我尝试在我的扩展中包含 jQuery 库时,JS 引擎给了我一个错误。这是代码:
chrome.tabs.executeScript(null,{code:"
if (typeof jQuery == 'undefined') {
var script = document.createElement('script');
script.setAttribute('type') = 'text/javascript';
script.setAttribute('src') = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
};
"});
这是结果:
Uncaught ReferenceError: Invalid left-hand side in assignment
(anonymous function)
这段代码写在 popup.js 文件中,包含在 popup.html 中。
即使我做这样的事情:
chrome.tabs.executeScript(null, {file: "browser.js", allFrames: true}, window.close());
而且,在 browser.js 中,我指定了上面编写的代码(其中包含 jQuery 库),它发生了同样的事情。最奇怪的是,jQuery 似乎根本没有定义,即使执行代码的选项卡已经取消了它(例如 Flickr)。事实上,jQuery 的 typeof 总是设置为 'undefined'。我很困惑...