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 supports()
statische Methode der ClipboardItem
-Schnittstelle gibt true
zurück, wenn der angegebene MIME-Typ von der Zwischenablage unterstützt wird, und false
andernfalls.
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, sodass ein Test nicht notwendig ist.
Syntax
supports(type)
Parameter
type
-
Ein String, der den zu prüfenden MIME-Typ angibt.
Diese MIME-Typen werden immer unterstützt:
text/plain
text/html
image/png
Diese MIME-Typen können unterstützt werden:
image/svg+xml
- Custom MIME-Type-Formate, die mit
"web "
beginnen. Der benutzerdefinierte Typ (ohne das Präfix"web "
) muss die korrekte Formatierung für einen MIME-Typ haben.
Rückgabewert
true
, wenn der angegebene MIME-Typ von der Zwischenablage unterstützt wird, false
andernfalls.
Beispiele
Ein Bild in die Zwischenablage schreiben
Das folgende Beispiel ruft ein SVG-Bild in einen Blob ab und schreibt es dann in die Zwischenablage.
Wir verwenden supports()
, um zu überprüfen, ob der "image/svg+xml"
MIME-Typ von der Zwischenablage unterstützt wird, bevor wir das Bild abrufen und mit clipboard.write()
schreiben.
Wir wickeln auch den gesamten Funktionskörper in eine try..catch
-Anweisung ein, um andere Fehler abzufangen, wie z.B. 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