2017-11-03 19 views
0

Ich muss die Änderung zwischen der Ausrichtung eines Geräts zur Laufzeit erkennen: versucht, die Bildschirm-API (https://developer.mozilla.org/en-US/docs/Web/API/Screen/orientation) auf einem Angular-Projekt zu verwenden Ich erhalte einen Fehler: Property 'orientation' does not exist on type 'Screen'.
Die Ausrichtung ist in der Bildschirmoberfläche nicht vorhanden!Bildschirmausrichtung mit JavaScript erkennen

Dass einige Lösungen, die ich, ohne Erfolg zu wiederholen versuche,:
- How do I correctly detect orientation change using javascript and Phonegap in IOS?

Wie kann ich es in einer Cross-Browser-freundliche Art und Weise erreichen?

Szenario:

count = 0; 
countState() { 
    (window.screen.orientation.type === 'landscape-primary' || window.screen.orientation.type === 'landscape-secondary') ? count++ : count--; 
} 
<button (click)="countState()">Count</button> 

Antwort

0

Ich nehme eine möglichst einfache Lösung so etwas wie dieses würde:

function getOrientation() { 
    if (window.outerWidth > window.outerHeight) { 
    return 'landscape'; 
    return 'portrait'; 
} 
+0

ich nur ein ** Szenario auf die Frage hinzugefügt **, damit Sie verstehen Besser, was könnte ich brauchen. Pierre antwortete hier (https://Stackoverflow.com/a/4917796/6916104): 'Auf vielen Geräten, wenn die Tastatur angezeigt wird, wird die verfügbare Breite größer als die Höhe sein, falsch im Querformat. ' Nicht wirklich sicher, dass diese Lösung meinen Bedürfnissen entspricht. – 39ro