Window.opener
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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ètrewindowFeatures
. - Si la fenêtre a été ouverte avec un lien dont l'attribut
target
vaut_blank
, à moins qu'il ait été explicitement demandé avec withrel="opener"
. - Si l'en-tête
Cross-Origin-Opener-Policy
possède la valeursame-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