J'écris une extension chrome. Et je veux utiliser jQuery
dans mon extension. Je n'utilise aucune page de fond , juste un script de fond .
Voici mes fichiers:
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"
}
}
Mon background.js
fichier exécute juste un autre fichier nomméwork.js
// Respond to the click on extension Icon
chrome.browserAction.onClicked.addListener(function (tab) {
chrome.tabs.executeScript({
file: 'work.js'
});
});
La logique principale de mon extension est à l'intérieur work.js
. Le contenu dont je ne pense pas qu'il importe ici pour cette question.
Ce que je veux demander, c'est comment puis-je utiliser jQuery dans mon extension. Puisque je n'utilise aucune page de fond. Je ne peux pas simplement y ajouter jQuery. Alors, comment puis-je ajouter et utiliser jQuery dans mon extension?
J'ai essayé d'exécuter jQuery avec mon work.js à partir d'un background.js
fichier.
// 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'
});
});
Et cela fonctionne bien, mais j'ai le souci de savoir si les scripts ajoutés pour être exécutés de cette manière sont exécutés de manière asynchrone. Si oui, il peut arriver que work.js s'exécute avant même jQuery (ou d'autres bibliothèques que je pourrais ajouter à l'avenir).
Et j'aimerais également savoir quelle est la manière correcte et la meilleure d'utiliser des bibliothèques tierces, dans mon extension chrome.