Ich verwende Typescript für eine Webanwendung, die die JavaScript-Vollbild-API verwenden muss. Die Vollbild-API wird noch nicht offiziell unterstützt, daher müssen Sie Hersteller-Präfixe verwenden. Hier ist mein Code, basierend auf der Probe aus MDN:Wie bekomme ich Typoskript, um nicht mehr über Funktionen zu klagen, von denen es nichts weiß?
function toggleFullScreen(element: JQuery) {
var fs = element[0];
if (!document.fullscreenElement && // alternative standard method
!document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement) { // current working methods
if (fs.requestFullscreen) {
fs.requestFullscreen();
} else if (fs.msRequestFullscreen) {
fs.msRequestFullscreen();
} else if (fs.mozRequestFullScreen) {
fs.mozRequestFullScreen();
} else if (fs.webkitRequestFullscreen) {
fs.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
}
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
}
}
jedoch in meiner IDE (Visual Studio, aber das würde passieren, überall), erhalte ich Fehler wie:
The property 'fullscreenElement' does not exist on value of type 'Document'.
The property 'mozFullScreenElement' does not exist on value of type 'Document'.
The property 'webkitFullscreenElement' does not exist on value of type 'Document'.
Natürlich Typoskript kann‘ Ich weiß, dass diese Funktionen existieren, aber ich möchte das Dokument auch nicht als any
deklarieren, nur um diese Fehler loszuwerden, denn dann verliere ich alle anderen Typhinweise.
Was ist die Lösung hier? Wie kann ich mit TypeScript aufhören, mich zu beschweren, aber so viele Typanmerkungen wie möglich behalten?
Vielleicht erstellen [ '.d.ts' Datei] (http://www.typescriptlang.org/Handbuch # Schreiben-dts-Dateien)? (Oder, in diesem speziellen Fall, finde jemanden, den jemand anders bereits erstellt hat - und falls nicht, teile den, den du tust ...) –