0

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

你知道,扩展调用 background.js,它不调用包含 background.js 的 php 或 html 文件,所以我不能使用任何涉及 php 或 html 的东西

提前致谢....

4

2 回答 2

4

听起来您使用的是 manifest_version 2,这意味着您只需添加path-to-jquery.js到 background.scripts 数组即可。

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

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

于 2012-07-14T18:14:18.403 回答
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);
于 2012-07-14T18:20:21.153 回答