aboutsummaryrefslogtreecommitdiff
path: root/files/fr/mozilla/add-ons/webextensions/api/sessions/settabvalue/index.html
blob: 64da5c051c38d364274142fe5c74bdfbdabcf994 (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
---
title: sessions.setTabValue()
slug: Mozilla/Add-ons/WebExtensions/API/sessions/setTabValue
tags:
  - API
  - Add-ons
  - Extensions
  - Method
  - Reference
  - WebExtensions
  - sessions
  - setTabValue
translation_of: Mozilla/Add-ons/WebExtensions/API/sessions/setTabValue
---
<div>{{AddonSidebar()}}</div>

<p>Stocke une paire clé / valeur à associer à un onglet donné. Vous pouvez ensuite récupérer cette valeur en utilisant {{WebExtAPIRef("sessions.getTabValue")}}.</p>

<p>Notez que ces données ne seront visibles que par l'extension qui l'a définie, et non par les autres extensions.</p>

<p>C'est une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p>

<h2 id="Syntaxe">Syntaxe</h2>

<pre class="brush: js">var storing = browser.sessions.setTabValue(
  tabId,    // integer
  key,      // string
  value     // string or object
)
</pre>

<h3 id="Paramètres">Paramètres</h3>

<dl>
 <dt><code>tabId</code></dt>
 <dd><code>integer</code>. ID de l'onglet avec lequel vous souhaitez associer les données.</dd>
 <dt><code>key</code></dt>
 <dd><code>string</code>. Clé que vous pouvez utiliser ultérieurement pour récupérer cette valeur de données particulière.</dd>
 <dt><code>value</code></dt>
 <dd><code>string</code> ou <code>object</code>. S'il s'agit d'un objet, il est <a href="/fr/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify">stringified</a>, donc les méthodes d'objet, par exemple, seront omises. Si une fonction est donnée ici, elle sera stockée sous la forme <code>null</code>.</dd>
</dl>

<h3 id="Valeur_retournée">Valeur retournée</h3>

<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera résolue sans argument si l'appel a réussi. Si l'appel a échoué (par exemple, parce que l'ID de l'onglet n'a pas pu être trouvé), la promesse sera rejetée avec un message d'erreur.</p>

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

<p>{{Compat("webextensions.api.sessions.setTabValue", 10)}}</p>

<h2 id="Exemples">Exemples</h2>

<p>Définissez une valeur sur l'onglet actif lorsque l'utilisateur sélectionne un élément de menu. Notez que vous aurez besoin de la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "menus" pour exécuter cet exemple :</p>

<pre class="brush: js">async function setOnActiveTab() {
  let tabArray = await browser.tabs.query({currentWindow: true, active: true});
  let tabId = tabArray[0].id;
  await browser.sessions.setTabValue(tabId, "my-key", "my-value");
}

browser.menus.create({
  id: "my-item",
  title: "my item",
  contexts: ["all"]
});

browser.menus.onClicked.addListener(setOnActiveTab);</pre>

<p>{{WebExtExamples}}</p>