ClipboardItem: supports() statische Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die statische Methode supports()
der ClipboardItem
-Schnittstelle gibt true
zurück, wenn der angegebene MIME-Typ vom Clipboard unterstützt wird, andernfalls false
.
Beachten Sie, dass die Clipboard API die Unterstützung für Klartext, HTML und PNG-Dateien vorschreibt.
Die supports()
-Methode gibt für diese MIME-Typen immer true
zurück, daher ist es unnötig, sie zu testen.
Syntax
supports(type)
Parameter
type
-
Ein String, der den zu testenden MIME-Typ angibt.
Diese MIME-Typen werden immer unterstützt:
text/plain
text/html
image/png
Diese MIME-Typen werden möglicherweise unterstützt:
image/svg+xml
- Benutzerdefinierte MIME-Typ-Formate, die mit
"web "
beginnen. Der benutzerdefinierte Typ (ohne das Präfix"web "
) muss das richtige Format für einen MIME-Typ haben.
Rückgabewert
true
, wenn der angegebene MIME-Typ vom Clipboard unterstützt wird, andernfalls false
.
Beispiele
Ein Bild in die Zwischenablage schreiben
Das folgende Beispiel ruft ein SVG-Bild ab, stellt es als Blob
dar und schreibt es dann in die Zwischenablage.
Wir verwenden supports()
, um zu überprüfen, ob der MIME-Typ "image/svg+xml"
vom Clipboard unterstützt wird, bevor wir das Bild abrufen und es mit clipboard.write()
schreiben.
Wir umgeben auch den gesamten Funktionskörper mit einer try...catch
-Anweisung, um andere Fehler abzufangen, beispielsweise wenn ClipboardItem
selbst nicht unterstützt wird.
async function writeClipImg() {
try {
if (ClipboardItem.supports("image/svg+xml")) {
const imgURL = "/my-image.svg";
const data = await fetch(imgURL);
const blob = await data.blob();
await navigator.clipboard.write([
new ClipboardItem({
[blob.type]: blob,
}),
]);
console.log("Fetched image copied to clipboard.");
} else {
console.log("SVG image not supported by clipboard");
}
} catch (err) {
console.error(err.name, err.message);
}
}
Spezifikationen
Specification |
---|
Clipboard API and events # dom-clipboarditem-supports |
Browser-Kompatibilität
BCD tables only load in the browser