我正在写一个 Chrome 扩展。我想在我的扩展中使用 jQuery
。我没有使用任何背景 呼叫,只是一个背景 剧本。
这是我的档案:
manifest.json
{
"manifest_version": 2,
"name": "Extension name",
"description": "This extension does something,",
"version": "0.1",
"permissions": [
"activeTab"
],
"browser_action": {
"default_icon": "images/icon_128.png"
},
"background": {
"scripts": ["background.js"],
"persistent": false
},
"icons": {
"16": "images/icon_16.png",
"48": "images/icon_48.png",
"128": "images/icon_128.png"
}
}
我的 background.js
文件只是运行另一个名为 work.js
的文件
// Respond to the click on extension Icon
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript({
file: 'work.js'
});
});
我的扩展的主要逻辑是在 work.js
中。我认为其中的内容对这个问题不重要。
我想问的是如何在我的扩展中使用 jQuery。因为我没有使用任何背景页面。我不能直接把 jQuery 加进去。那么如何在扩展中添加和使用 jQuery 呢?
我试着从 background.js
文件运行 jQuery 和 work.js。
// Respond to the click on extension Icon
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript({
file: 'thirdParty/jquery-2.0.3.js'
});
chrome.tabs.executeScript({
file: 'work.js'
});
});
它工作得很好,但是我担心以这种方式添加的脚本是否是异步执行的。如果是的话,那么 work.js 甚至可以运行 之前 jQuery (或者其他我以后可能会添加的库)。
我还想知道在我的 chrome 扩展中,使用第三方库的正确和最好的方法是什么。