Piszę rozszerzenie do Chrome. I chcę użyć jQuery
w moim rozszerzeniu. Nie używam żadnej strony w tle , tylko skrypt działający w tle .
Oto moje pliki:
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"
}
}
Mój background.js
plik po prostu uruchamia inny plik o nazwiework.js
// Respond to the click on extension Icon
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript({
file: 'work.js'
});
});
Główna logika mojego rozszerzenia znajduje się wewnątrz work.js
. Treść, która moim zdaniem nie ma tutaj znaczenia dla tego pytania.
Chcę zapytać, jak mogę używać jQuery w moim rozszerzeniu. Ponieważ nie używam żadnej strony w tle. Nie mogę po prostu dodać do niego jQuery. Jak więc mogę dodać i używać jQuery do mojego rozszerzenia?
Próbowałem uruchomić jQuery wraz z moim plikiem work.js z background.js
pliku.
// 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'
});
});
I działa dobrze, ale mam obawy, czy skrypty dodane do wykonania w ten sposób są wykonywane asynchronicznie. Jeśli tak, może się zdarzyć, że plik work.js działa jeszcze przed jQuery (lub innymi bibliotekami, które mogę dodać w przyszłości).
Chciałbym też wiedzieć, jaki jest właściwy i najlepszy sposób korzystania z bibliotek innych firm w moim rozszerzeniu do Chrome.