aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons/webextensions/api/userscripts/index.html
blob: e0820570ab8611c36e1f23ac6b24bfce3184482b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
---
title: userScripts
slug: Mozilla/Add-ons/WebExtensions/API/userScripts
tags:
  - Add-ons
  - Customisation
  - Extensions
  - Firefox
  - Mozilla
  - Reference
  - WebExtensions
  - userScripts
translation_of: Mozilla/Add-ons/WebExtensions/API/userScripts
---
<p>{{AddonSidebar}}</p>

<p>Utilisez cette API pour enregistrer des scripts utilisateurs, des scripts tiers conçus pour manipuler des pages web ou fournir de nouvelles fonctionnalités. L'enregistrement d'un script utilisateur indique au navigateur de joindre le script aux pages qui correspondent aux modèles d'URL spécifiés lors de l'enregistrement.</p>

<p>Cette API offre des capacités similaires à {{WebExtAPIRef("contentScripts")}} mais avec des fonctionnalités adaptées à la gestion de scripts tiers :</p>

<ul>
 <li>l'exécution se fait dans une sandbox isolée : chaque script utilisateur est exécuté dans une sandbox isolée au sein des processus de contenu web, ce qui empêche toute interférence accidentelle ou délibérée entre les scripts.</li>
 <li>l'accès à la <code>fenêtre</code> et aux valeurs globales du <code>document</code> liées à la page web à laquelle le script utilisateur est attaché.</li>
 <li>aucun accès aux API de WebExtension ou aux autorisations associées accordées à l'extension : le script API, qui hérite des autorisations de l'extension, peut fournir des API de WebExtension packagées aux scripts utilisateur enregistrés. Un script API est déclaré dans le fichier manifeste de l'extension en utilisant la clé du manifeste "user_scripts".</li>
</ul>

<div class="blockIndicator warning">
<p>Cette API requiert la présence de la clé <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">user_scripts</a></code> dans le manifest.json, même si aucun script API n'est spécifié. Par exemple, <code>user_scripts: {}</code>.</p>
</div>

<p>Pour utiliser l'API, appelez <code>{{WebExtAPIRef("userScripts.register","register()")}}</code> en passant un objet définissant les scripts à enregistrer. La méthode renvoie une promesse qui est résolue par un objet  <code>{{WebExtAPIRef("userScripts.RegisteredUserScript","RegisteredUserScript")}}</code>.</p>

<div class="blockIndicator note">
<p>Les scripts utilisateur sont désenregistrés lorsque la page d'extension correspondante (à partir de laquelle les scripts utilisateur ont été enregistrés) est déchargée, vous devez donc enregistrer un script utilisateur depuis une page d'extension qui persiste au moins aussi longtemps que vous voulez que les scripts utilisateur restent enregistrés</p>
</div>

<dl>
</dl>

<h2 id="Types">Types</h2>

<dl>
 <dt>{{WebExtAPIRef("userScripts.RegisteredUserScript")}}</dt>
 <dd>L'<code>object</code> renvoyé par la méthode  {{WebExtAPIRef("userScripts.register","register()")}}. Il représente les scripts utilisateur enregistrés et est utilisé pour désenregistrer les scripts utilisateur.</dd>
</dl>

<h2 id="Méthodes">Méthodes</h2>

<dl>
 <dt>{{WebExtAPIRef("userScripts.register()")}}</dt>
 <dd>Enregistre les scripts utilisateur donnés.</dd>
</dl>

<h2 id="Evénements">Evénements</h2>

<dl>
 <dt>{{WebExtAPIRef("userScripts.onBeforeScript")}}</dt>
 <dd>Un événement disponible pour le script API, enregistré dans <code><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/user_scripts">"user_scripts"</a></code>, qui s'exécute avant qu'un script utilisateur ne s'exécute. Utilisez-le pour déclencher l'exportation des API supplémentaires fournies par le script API, afin qu'elles soient disponibles pour le script utilisateur.</dd>
</dl>

<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2>

<p>{{Compat("webextensions.api.userScripts", 10, 1)}}</p>

<h2 id="Voir_aussi">Voir aussi</h2>

<ul>
 <li><a href="/fr/docs/Mozilla/Add-ons/WebExtensions/API/userScripts/Working_with_userScripts">Working with <code>userScripts</code></a></li>
 <li>{{WebExtAPIRef("contentScripts","browser.contentScripts")}}</li>
</ul>