Extension Chrome: charger des scripts de contenu
Je veux charger un script en fonction de la page et l'onglet actuellement sélectionné. Maintenant, j'ai trois scripts de contenu. Je veux utiliser les deux pour une page et la troisième pour une autre page.
Appartenant à la page 1:
content_script.js
load_content_script.js
Appartenant à page2:
newtab_content_script.js
maintenant mon manifeste ressemble à ceci
{
"name": "A plugin for AdData express. Generate an instant excel document from the brands you check mark.",
"version": "1.0",
"background_page": "background.html",
"permissions": [
"cookies",
"tabs",
"http://*/*", "https://", "*", "http://*/*", "https://*/*",
"http://www.addataexpress.com", "http://www.addataexpress.com/*"
],
"content_scripts": [
{
"matches": ["<all_urls>","http://*/*","https://*/*"],
"js": ["load_content_script.js", "content_script.js", "newtab_content_script.js", "jquery.min.js", "json.js"]
}
],
"browser_action": {
"name": "AdData Express Plugin",
"default_icon": "icon.png",
"js": "jquery.min.js",
"popup": "popup.html"
}
}
comment cette structure dans le manifeste ou d'ailleurs?
vous pouvez également utiliser google chrome.declarativeContent.RequestContentScript' comme indiqué dans cette réponse: stackoverflow.com/a/26677279/176140
Avez-vous envisagé de faire Darin réponse la accepté de répondre? Il semble être la solution la plus directe.
Avez-vous envisagé de faire Darin réponse la accepté de répondre? Il semble être la solution la plus directe.
OriginalL'auteur Chamilyan | 2011-09-27
Vous devez vous connecter pour publier un commentaire.
Seulement dans l'intérêt de l'exhaustivité, de la façon dont vous auriez du le faire depuis le manifeste est d'avoir autant de
matches
blocs de sous "content_scripts" en tant que de besoin:OriginalL'auteur Darin
Plutôt que d'utiliser des scripts de contenu qui sont liés à des expressions d'URL spécifiée dans le manifeste, vous devez utiliser executeScript, ce qui vous permet par programmation décider d'injecter un JS extrait de texte ou fichier:
executescript
?Ils sont injectés dans la page en utilisant le même mécanisme, avec les mêmes restrictions.
la peine de mentionner que cela nécessite onglets autorisations dans le fichier manifeste.
Quel est l'inconvénient de le déclarer dans le manifeste? Pourquoi est-il préférable d'injecter
exceuteScrip
'? Je comprends queexecuteScript
vous permet de programmation pour décider d'injecter un script, mais si vous voulez toujours que c'est injectée à une certaine url?dans ce cas, vous devrez utiliser le manifeste. Que faire si vous voulez exécuter le script que dans certaines conditions une fois sur la page. C'est un cas que je vois pour executeScript.
OriginalL'auteur Boris Smus
vous devez utiliser Programmatique injection
voir mon commentaire stackoverflow.com/questions/7563379/...
OriginalL'auteur wukong