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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
---
title: tabs
slug: Mozilla/Add-ons/WebExtensions/API/tabs
tags:
- API
- Add-ons
- Extensions
- Interface
- NeedsTranslation
- Non-standard
- Reference
- TopicStub
- WebExtensions
- tabs
translation_of: Mozilla/Add-ons/WebExtensions/API/tabs
---
<div>{{AddonSidebar}}</div>
<p>Permet d’interagir avec le système d’onglets du navigateur.</p>
<p>Vous pouvez utiliser cette API pour obtenir une liste des onglets ouverts, filtrés par différents critères, ainsi que pour ouvrir, mettre à jour, déplacer, recharger et supprimer des onglets. Vous ne pouvez pas accéder directement au contenu hébergé par les onglets à l’aide de cette API, mais vous pouvez insérer du JavaScript et du CSS dans les onglets en utilisant les API {{WebExtAPIRef("tabs.executeScript()")}} ou {{WebExtAPIRef("tabs.insertCSS()")}}.</p>
<p>Vous pouvez utiliser la majeure partie de cette API sans autorisation spéciale. Toutefois :</p>
<ul>
<li>Pour accéder à <code>Tab.url</code>, <code>Tab.title</code> et <code>Tab.favIconUrl</code>, vous devez avoir la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> <code>"tabs"</code>.
<ul>
<li>Dans Firefox, cela signifie également que vous avez besoin de <code>"tabs"</code> pour {{WebExtAPIRef("tabs.query", "requête d’onglet")}} par URL.</li>
</ul>
</li>
<li>
<p>Pour utiliser {{WebExtAPIRef("tabs.executeScript()")}} ou {{WebExtAPIRef("tabs.insertCSS()")}}, vous devez avoir les <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permission d’hôte</a> pour l’onglet.</p>
</li>
</ul>
<p>Alternativement, vous pouvez obtenir ces autorisations temporairement, uniquement pour l’onglet actuellement actif et uniquement en réponse à une action explicite de l’utilisateur ou de l’utilisatrice, en demandant la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#activeTab_permission">permission <code>"activeTab"</code></a>.</p>
<p>De nombreuses opérations d’onglet utilisent un identifiant (<code>id</code>) d’onglet. Les <code>id</code> d’onglets sont seulement garantis uniques à un onglet durant une session de navigation. Si le navigateur est redémarré, il pourra recycler, et recyclera, les id d’onglets. Pour associer des informations à un onglet à travers les redémarrages du navigateur, utilisez {{WebExtAPIRef("sessions.setTabValue()")}}.</p>
<h2 id="Types">Types</h2>
<dl>
<dt>{{WebExtAPIRef("tabs.MutedInfoReason")}}</dt>
<dd>Spécifie la raison pour laquelle un onglet a été rendu silencieux ou à nouveau sonore.</dd>
<dt>{{WebExtAPIRef("tabs.MutedInfo")}}</dt>
<dd>Cet objet contient un booléen indiquant si l’onglet est silencieux et la raison de la dernière modification de l’état.</dd>
<dt>{{WebExtAPIRef("tabs.PageSettings")}}</dt>
<dd>
<p>Permet de contrôler le rendu d’un onglet au format PDF par la méthode {{WebExtAPIRef("tabs.saveAsPDF()")}}.</p>
</dd>
<dt>{{WebExtAPIRef("tabs.Tab")}}</dt>
<dd>Ce type contient des informations sur un onglet.</dd>
<dt>{{WebExtAPIRef("tabs.TabStatus")}}</dt>
<dd>Indique si l’onglet a fini de charger.</dd>
<dt>{{WebExtAPIRef("tabs.WindowType")}}</dt>
<dd>Le type de fenêtre qui héberge cet onglet.</dd>
<dt>{{WebExtAPIRef("tabs.ZoomSettingsMode")}}</dt>
<dd>Définit si les modifications de zoom sont traitées par le navigateur, par l’extension ou sont désactivées.</dd>
<dt>{{WebExtAPIRef("tabs.ZoomSettingsScope")}}</dt>
<dd>Définit si les modifications de zoom persisteront pour l’origine de la page ou ne prendront effet que dans cet onglet.</dd>
<dt>{{WebExtAPIRef("tabs.ZoomSettings")}}</dt>
<dd>Définit les paramètres de zoom {{WebExtAPIRef("tabs.ZoomSettingsMode", "mode")}}, {{WebExtAPIRef("tabs.ZoomSettingsScope", "scope")}}, et le facteur de zoom par défaut.</dd>
</dl>
<h2 id="Propriétés">Propriétés</h2>
<dl>
<dt>{{WebExtAPIRef("tabs.TAB_ID_NONE")}}</dt>
<dd>Une valeur d’id spéciale donnée aux onglets qui ne sont pas des onglets de navigation (par exemple, les onglets dans les fenêtres <em>devtools</em>).</dd>
</dl>
<h2 id="Fonctions">Fonctions</h2>
<dl>
<dt>{{WebExtAPIRef("tabs.captureTab()")}}</dt>
<dd>Crée un URI de données codant une image de la zone visible de l’onglet donné.</dd>
<dt>{{WebExtAPIRef("tabs.captureVisibleTab()")}}</dt>
<dd>Crée un URI de données codant une image de la zone visible de l’onglet actuellement actif dans la fenêtre donnée.</dd>
<dt>{{WebExtAPIRef("tabs.connect()")}}</dt>
<dd>Définit une connexion pour échanger des messages entre les scripts d’arrière-plan de l’extension (ou d’autres scripts privilégiés, tels que les scripts de <a href="/fr/Add-ons/WebExtensions/user_interface/Popups">popups</a> ou les scripts de page d’options) et les <a href="/fr/Add-ons/WebExtensions/Content_scripts">scripts de contenu</a> s’exécutant dans l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.create()")}}</dt>
<dd>Crée un nouvel onglet.</dd>
<dt>{{WebExtAPIRef("tabs.detectLanguage()")}}</dt>
<dd>Détecte la langue principale du contenu dans un onglet.</dd>
<dt>{{WebExtAPIRef("tabs.discard()")}}</dt>
<dd>Évince un ou plusieurs onglets.</dd>
<dt>{{WebExtAPIRef("tabs.duplicate()")}}</dt>
<dd>Duplique un onglet.</dd>
<dt>{{WebExtAPIRef("tabs.executeScript()")}}</dt>
<dd>Injecte du code JavaScript dans une page.</dd>
<dt>{{WebExtAPIRef("tabs.get()")}}</dt>
<dd>Obtient des détails sur l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.getAllInWindow()")}} {{deprecated_inline}}</dt>
<dd>Obtient des détails sur tous les onglets de la fenêtre spécifiée.</dd>
<dt>{{WebExtAPIRef("tabs.getCurrent()")}}</dt>
<dd>Obtient des informations sur l’onglet dans lequel ce script s’exécute, en tant qu’objet {{WebExtAPIRef("tabs.Tab")}}.</dd>
<dt>{{WebExtAPIRef("tabs.getSelected()")}} {{deprecated_inline}}</dt>
<dd>Obtient l’onglet sélectionné dans la fenêtre spécifiée. <strong>Deprecated: utilisez plutôt <a href="https://wiki.developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/query" title="Gets all tabs that have the specified properties, or all tabs if no properties are specified."><code>tabs.query({active: true})</code></a>.</strong></dd>
<dt>{{WebExtAPIRef("tabs.getZoom()")}}</dt>
<dd>Obtient le facteur de zoom actuel de l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.getZoomSettings()")}}</dt>
<dd>Obtient les paramètres de zoom actuels pour l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.goForward()")}}</dt>
<dd>Passez à la page suivante, si vous en avez une.</dd>
<dt>{{WebExtAPIRef("tabs.goBack()")}}</dt>
<dd>Retour à la page précédente, si elle est disponible.</dd>
<dt>{{WebExtAPIRef("tabs.hide()")}} {{experimental_inline}}</dt>
<dd>Masque un ou plusieurs onglets.</dd>
<dt>{{WebExtAPIRef("tabs.highlight()")}}</dt>
<dd>Met en évidence un ou plusieurs onglets.</dd>
<dt>{{WebExtAPIRef("tabs.insertCSS()")}}</dt>
<dd>Injecte CSS dans une page.</dd>
<dt>{{WebExtAPIRef("tabs.move()")}}</dt>
<dd>Déplace un ou plusieurs onglets vers une nouvelle position dans la même fenêtre ou vers une autre fenêtre.</dd>
<dt>{{WebExtApiRef("tabs.moveInSuccession()")}}</dt>
<dd>Modifie la relation de succession pour un groupe d’onglets.</dd>
<dt>{{WebExtAPIRef("tabs.print()")}}</dt>
<dd>Imprime le contenu de l’onglet actif.</dd>
<dt>{{WebExtAPIRef("tabs.printPreview()")}}</dt>
<dd>
<div>Ouvre l’aperçu avant impression pour l’onglet actif.</div>
</dd>
<dt>{{WebExtAPIRef("tabs.query()")}}</dt>
<dd>Obtient tous les onglets ayant les propriétés spécifiées, ou tous les onglets si aucune propriété n’est spécifiée.</dd>
<dt>{{WebExtAPIRef("tabs.reload()")}}</dt>
<dd>Recharge un onglet, en contournant éventuellement le cache web local.</dd>
<dt>{{WebExtAPIRef("tabs.remove()")}}</dt>
<dd>Ferme un ou plusieurs onglets.</dd>
<dt>{{WebExtAPIRef("tabs.removeCSS()")}}</dt>
<dd>Supprime d’une page CSS qui a été précédemment injectée en appelant {{WebExtAPIRef("tabs.insertCSS()")}}.</dd>
<dt>{{WebExtAPIRef("tabs.saveAsPDF()")}}</dt>
<dd>Enregistre la page en cours au format PDF.</dd>
<dt>{{WebExtAPIRef("tabs.sendMessage()")}}</dt>
<dd>Envoie un message unique au(x) script(s) de contenu dans l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.sendRequest()")}} {{deprecated_inline}}</dt>
<dd>Envoie une requête unique au(x) script(s) de contenu dans l’onglet spécifié. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.sendMessage()")}} à la place.</dd>
<dt>{{WebExtAPIRef("tabs.setZoom()")}}</dt>
<dd>Effectue un zoom sur l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.setZoomSettings()")}}</dt>
<dd>Définit les paramètres de zoom pour l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.show()")}} {{experimental_inline}}</dt>
<dd>Affiche un ou plusieurs onglets qui ont été {{WebExtAPIRef("tabs.hide()", "masqués")}}.</dd>
<dt>{{WebExtAPIRef("tabs.toggleReaderMode()")}}</dt>
<dd>Bascule en mode lecture pour l’onglet spécifié.</dd>
<dt>{{WebExtAPIRef("tabs.update()")}}</dt>
<dd>Charge une nouvelle URL dans l’onglet, ou modifie d’autres propriétés de l’onglet.</dd>
</dl>
<h2 id="Évènements">Évènements</h2>
<dl>
<dt>{{WebExtAPIRef("tabs.onActivated")}}</dt>
<dd>Est émis lorsque l’onglet actif dans une fenêtre change. Notez que l’URL de l’onglet peut ne pas être définie au moment où cet évènement a été émis.</dd>
<dt>{{WebExtAPIRef("tabs.onActiveChanged")}} {{deprecated_inline}}</dt>
<dd>Est émis lorsque l’onglet sélectionné dans une fenêtre change. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.</dd>
<dt>{{WebExtAPIRef("tabs.onAttached")}}</dt>
<dd>Est émis lorsqu’un onglet est attaché à une fenêtre, par exemple parce qu’il a été déplacé entre différentes fenêtres.</dd>
<dt>{{WebExtAPIRef("tabs.onCreated")}}</dt>
<dd>Est émis lorsqu’un onglet est créé. Notez que l’URL de l’onglet peut ne pas être définie au moment où cet évènement a été émis.</dd>
<dt>{{WebExtAPIRef("tabs.onDetached")}}</dt>
<dd>Est émis lorsqu’un onglet est détaché d’une fenêtre, par exemple parce qu’il a été déplacé entre différentes fenêtres.</dd>
<dt>{{WebExtAPIRef("tabs.onHighlightChanged")}} {{deprecated_inline}}</dt>
<dd>Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.onHighlighted")}} à la place.</dd>
<dt>{{WebExtAPIRef("tabs.onHighlighted")}}</dt>
<dd>Est émis lorsque les onglets en surbrillance ou sélectionnés dans une fenêtre changent.</dd>
<dt>{{WebExtAPIRef("tabs.onMoved")}}</dt>
<dd>Est émis lorsqu’un onglet est déplacé dans une fenêtre.</dd>
<dt>{{WebExtAPIRef("tabs.onRemoved")}}</dt>
<dd>Est émis lorsqu’un onglet est fermé.</dd>
<dt>{{WebExtAPIRef("tabs.onReplaced")}}</dt>
<dd>Est émis lorsqu’un onglet est remplacé par un autre onglet en raison d’un <em lang="en-US">prerendering</em>.</dd>
<dt>{{WebExtAPIRef("tabs.onSelectionChanged")}} {{deprecated_inline}}</dt>
<dd>Est émis lorsque l’onglet sélectionné dans une fenêtre change. <strong>Déprécié :</strong> utilisez {{WebExtAPIRef("tabs.onActivated")}} à la place.</dd>
<dt>{{WebExtAPIRef("tabs.onUpdated")}}</dt>
<dd>Est émis lorsqu’un onglet est mis à jour.</dd>
<dt>{{WebExtAPIRef("tabs.onZoomChange")}}</dt>
<dd>Est émis lorsque le zoom dans un onglet est changé.</dd>
</dl>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("webextensions.api.tabs")}}</p>
<p>{{WebExtExamples("h2")}}</p>
<div class="note"><strong>Remerciements :</strong>
<p>Cette API est basée sur l’API Chromium <a class="external" href="https://developer.chrome.com/extensions/tabs#method-executeScript"><code>chrome.tabs</code></a>. Cette documentation est dérivée de <a class="external" href="https://chromium.googlesource.com/chromium/src/+/master/chrome/common/extensions/api/tabs.json"><code>tabs.json</code></a> dans le code de Chromium code.</p>
<p>Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.</p>
</div>
<div class="hidden">
<pre>// Copyright 2015 The Chromium Authors. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</pre>
</div>
|