我正在开发 chrome 扩展,它是一个简单的扩展,它调用 background.js 文件来完成简单的工作。在 background.js 我想包含 jquery.js 文件来调用 ajax 函数。但我无论如何都找不到在 background.js 中包含 jquery.js。可以这样做吗?
你知道,扩展调用 background.js,它不调用包含 background.js 的 php 或 html 文件,所以我不能使用任何涉及 php 或 html 的东西
提前致谢....
我正在开发 chrome 扩展,它是一个简单的扩展,它调用 background.js 文件来完成简单的工作。在 background.js 我想包含 jquery.js 文件来调用 ajax 函数。但我无论如何都找不到在 background.js 中包含 jquery.js。可以这样做吗?
你知道,扩展调用 background.js,它不调用包含 background.js 的 php 或 html 文件,所以我不能使用任何涉及 php 或 html 的东西
提前致谢....
听起来您使用的是 manifest_version 2,这意味着您只需添加path-to-jquery.js
到 background.scripts 数组即可。
"background": {
"scripts": ["jquery.js", "background.js"]
}
这些文件都一起加载到生成的页面中,因此它们访问相同的全局范围——这意味着您可以jQuery
照常使用。
给你:
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);