我正在编写一个 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 扩展中使用第三方库的正确和最佳方式是什么。