Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Window : propriété crossOriginIsolated

La propriété en lecture seule crossOriginIsolated de l'interface Window retourne une valeur booléenne qui indique si le document est isolé inter-origine.

Un document isolé inter-origine ne partage son groupe de contexte de navigation qu'avec des documents de même origine dans les fenêtres s'ouvrant par-dessus et les navigations, ainsi qu'avec les ressources (de même origine ou inter-origine) que le document a choisi d'utiliser CORS (et COEP pour <iframe>). La relation entre un ouvreur inter-origine du document ou toute fenêtre s'ouvrant par-dessus inter-origine qu'il ouvre est rompue. Le document peut aussi être hébergé dans un processus système séparé avec d'autres documents avec lesquels il peut communiquer en opérant sur une mémoire partagée. Cela réduit le risque d'attaques par canaux auxiliaires et d'attaques inter-origine appelées XS-Leaks (angl.).

Les documents isolés inter-origine fonctionnent avec moins de restrictions lors de l'utilisation des API suivantes :

Un document sera isolé inter-origine s'il est retourné avec une réponse HTTP qui inclut les en-têtes suivants :

L'accès aux API doit aussi être autorisé par la politique de permissions Permissions-Policy cross-origin-isolated. Sinon, la propriété crossOriginIsolated retournera false et le document ne pourra pas utiliser les API listées ci-dessus avec des restrictions réduites.

Valeur

Une valeur booléenne.

Exemples

Isoler un document inter-origine

Pour isoler un document inter-origine :

  • Définir l'en-tête HTTP Cross-Origin-Opener-Policy à same-origin :

    http
    Cross-Origin-Opener-Policy: same-origin
    
  • Définir l'en-tête HTTP Cross-Origin-Embedder-Policy à require-corp ou credentialless :

    http
    Cross-Origin-Embedder-Policy: require-corp
    Cross-Origin-Embedder-Policy: credentialless
    
  • La directive cross-origin-isolated de l'en-tête Permissions-Policy ne doit pas empêcher l'accès à la fonctionnalité. Notez que la liste autorisée par défaut de la directive est self, donc l'autorisation sera accordée par défaut aux documents isolés inter-origine.

Vérifier si le document est isolé inter-origine

js
const monWorker = new Worker("worker.js");

if (window.crossOriginIsolated) {
  const tampon = new SharedArrayBuffer(16);
  monWorker.postMessage(tampon);
} else {
  const tampon = new ArrayBuffer(16);
  monWorker.postMessage(tampon);
}

Spécifications

Specification
HTML
# dom-crossoriginisolated-dev

Compatibilité des navigateurs

Voir aussi