Window: crossOriginIsolated-Eigenschaft

Die crossOriginIsolated schreibgeschützte Eigenschaft der Window-Schnittstelle gibt einen booleschen Wert zurück, der anzeigt, ob das Dokument quellenübergreifend isoliert ist.

Ein quellenübergreifend isoliertes Dokument teilt seine Browsing-Kontextgruppe nur mit gleichoriginigen Dokumenten in Pop-ups und Navigationen sowie mit Ressourcen (sowohl gleichoriginig als auch quellenübergreifend), die das Dokument über CORS (und COEP für <iframe>) aktiviert hat. Die Beziehung zwischen einem quellenübergreifenden Öffner des Dokuments oder jeglichen quellenübergreifenden Pop-ups, die es öffnet, wird getrennt. Das Dokument kann auch in einem separaten Betriebssystemprozess gehostet werden, zusammen mit anderen Dokumenten, mit denen es durch den Betrieb auf gemeinsam genutztem Speicher kommunizieren kann. Dies verringert das Risiko von Nebenkanalangriffen und quellenübergreifenden Angriffen, die als XS-Leaks bekannt sind.

Quellenübergreifend isolierte Dokumente arbeiten mit weniger Einschränkungen, wenn die folgenden APIs verwendet werden:

Ein Dokument wird quellenübergreifend isoliert, wenn es mit einer HTTP-Antwort zurückgegeben wird, die die Header enthält:

Der Zugriff auf die APIs muss auch durch die Permissions-Policy cross-origin-isolated erlaubt sein. Andernfalls wird die crossOriginIsolated-Eigenschaft false zurückgeben, und das Dokument kann die oben aufgeführten APIs nicht mit reduzierten Einschränkungen verwenden.

Wert

Ein boolescher Wert.

Beispiele

Ein Dokument quellenübergreifend isolieren

Um ein Dokument quellenübergreifend zu isolieren:

  • Setzen Sie den Cross-Origin-Opener-Policy-HTTP-Header auf same-origin:

    http
    Cross-Origin-Opener-Policy: same-origin
    
  • Setzen Sie den Cross-Origin-Embedder-Policy-HTTP-Header auf require-corp oder credentialless:

    http
    Cross-Origin-Embedder-Policy: require-corp
    Cross-Origin-Embedder-Policy: credentialless
    
  • Die cross-origin-isolated-Direktive des Permissions-Policy-Headers darf den Zugriff auf die Funktion nicht blockieren. Beachten Sie, dass die Standard-Zulassungsliste der Direktive self ist, sodass die Berechtigung standardmäßig für quellenübergreifend isolierte Dokumente gewährt wird.

Überprüfen, ob das Dokument quellenübergreifend isoliert ist

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

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

Spezifikationen

Specification
HTML Standard
# dom-crossoriginisolated-dev

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch