Window: crossOriginIsolated-Eigenschaft
Die crossOriginIsolated
schreibgeschützte Eigenschaft des Window
-Interfaces gibt einen booleschen Wert zurück, der anzeigt, ob das Dokument cross-origin isoliert ist.
Ein cross-origin isoliertes Dokument teilt seine Browsing-Kontextgruppe nur mit gleich-origin Dokumenten in Pop-ups und Navigationen sowie mit Ressourcen (sowohl gleich-origin als auch cross-origin), auf die das Dokument über CORS (und COEP für <iframe>
) zuzugreifen gewählt hat. Die Beziehung zwischen einem cross-origin Öffner des Dokuments oder jeglichen cross-origin Pop-ups, die es öffnet, wird getrennt. Das Dokument kann auch in einem separaten OS-Prozess neben anderen Dokumenten gehostet werden, mit denen es kommunizieren kann, indem es auf gemeinsamen Speicher zugreift. Dies mindert das Risiko von Seitenkanalangriffen und Cross-Origin-Angriffen, die als XS-Leaks bezeichnet werden.
Cross-origin isolierte Dokumente arbeiten mit weniger Einschränkungen bei der Verwendung der folgenden APIs:
SharedArrayBuffer
kann erstellt und über einenWindow.postMessage()
oder einenMessagePort.postMessage()
-Aufruf gesendet werden.Performance.now()
bietet eine bessere Präzision.Performance.measureUserAgentSpecificMemory()
kann aufgerufen werden.
Ein Dokument wird cross-origin isoliert sein, wenn es mit einer HTTP-Antwort zurückgegeben wird, die die folgenden Header beinhaltet:
Cross-Origin-Opener-Policy
-Header mit der Direktivesame-origin
.Cross-Origin-Embedder-Policy
-Header mit der Direktiverequire-corp
odercredentialless
.
Wert
Ein boolescher Wert.
Beispiele
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