Window.opener

La propriété opener, rattachée à l'interface Window, renvoie une référence à la fenêtre ayant ouvert la fenêtre courante, que ce soit avec open(), ou via une navigation avec un lien doté d'un attribut target.

Autrement dit, si la fenêtre A ouvre la fenêtre B, B.opener renvoie A.

Valeur

Un objet semblable à un objet Window qui fait référence à la fenêtre ayant ouvert la fenêtre courante (avec window.open(), ou avec un lien doté d'un attribut target). Si la fenêtre n'a pas été ouverte par un lien ou créée par une autre fenêtre, la propriété renvoie null.

Si l'ouvreur n'a pas la même origine que la page courante, les fonctionnalités de cet objet seront limitées. Ainsi, les variables et fonction associés à l'objet window ne seront pas accessibles. Toutefois, la navigation vers la fenêtre ouvrante est possible, autrement dit que la fenêtre ouverte peut ouvrir une URL dans l'onglet ou la fenêtre d'origine. Dans certains cas, cela peut permettre de l'hameçonnage où une page de confiance, ouverte par la fenêtre originale est remplacée par une page d'hameçonnage par la page nouvellement ouverte.

Dans les cas suivants, le navigateur ne renseigne pas window.opener, mais le laisse à null :

  • Si rel="noopener" est présent sur le lien ou si on a passé noopener via le paramètre windowFeatures.
  • Si la fenêtre a été ouverte avec un lien dont l'attribut target vaut _blank, à moins qu'il ait été explicitement demandé avec with rel="opener".
  • Si l'en-tête Cross-Origin-Opener-Policy possède la valeur same-origin. La nouvelle fenêtre étant chargée dans un contexte de navigation différent, elle n'aura pas de référence à la fenêtre ouvrante.

Spécifications

Specification
HTML Standard
# dom-opener-dev

Compatibilité des navigateurs

BCD tables only load in the browser