在js文件中包含jquery

时间:2012-07-14 18:06:41

标签: javascript jquery ajax google-chrome include

我正在开发chrome扩展,它是一个简单的扩展,它调用background.js文件来完成简单的工作。在background.js中我想包含jquery.js文件来调用ajax函数。但我无论如何都找不到在background.js中包含jquery.js。这样做是否可行?

你知道,扩展名调用background.js并且它不会调用包含background.js的php或html文件,因此我无法使用任何涉及php或html的内容

提前致谢....

2 个答案:

答案 0 :(得分:3)

听起来你正在使用manifest_version 2,这意味着你只需要将path-to-jquery.js添加到background.scripts数组中。

"background": {
    "scripts": ["jquery.js", "background.js"]
}

这些文件全部一起加载到生成的页面中,因此它们访问相同的全局范围 - 这意味着您可以像往常一样使用jQuery

答案 1 :(得分:0)

这里你去:

var jQueryElement=document.createElement('script');
jQueryElement.type = 'text/javascript';
jQueryElement.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(jQueryElement);

您必须将所有内容放在onload事件处理程序中,否则,即使尚未加载jQuery,其余的JavaScript也将继续运行。

var jQueryElement=document.createElement('script');
jQueryElement.type = 'text/javascript';
jQueryElement.onload = function () {
    alert('jQuery loaded');
};
jQueryElement.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(jQueryElement);