Seite 1 von 2

Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 09:44
von stevie1401
Ich habe ein Motorota Moto g8 Plus mit einer Auflösung von 1080 x 2280.
Gehe ich auf meine Spider-Homepage sagt
DesktopWidth(0)=659 und Desktophight(0)=70 im Querformat
und im Hochformat DesktopWidth(0)=346 und Desktophight(0)=369.
Getestet mit Chrome.
Firefox bringt andere, aber genauso falsche Werte.
Anscheinend funktionieren die Befehle Desktopwidth() und Desktophheight() mit einem Smartphonebrowser nicht.
Kann ich die Auflösung anders und vor allen Dingen zuverlässiger abfragen?

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 11:00
von ccode_new
Hallo stevie1401,

es gibt hierbei einige Dinge zu beachten.

1. Die DesktopWidth/DesktopHeight sind nicht die echten Screengrößen.
2. Es gibt mehrere weitere Faktoren: DPR und DPI
3. Teste das hier mal:
https://forums.spiderbasic.com/viewtopi ... =13&t=1288

4. Pixelgenau zu arbeiten ist hier knifflig.
Nehme am besten die gegebenen Werte als 100% und berechne die anfallenden Skalierungen entsprechend.

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 11:01
von #NULL
Die Mobile Browser rendern erst in einer virtueller Größe und skalieren dann auf die Größe des Screens des Geräts. Man kann das mit einem HTML Meta Tag umgehen:

Code: Alles auswählen

<meta name="viewport" content="width=device-width, initial-scale=1">
Ob und wie das mit Spiderbasic geht weiß ich allerdings nicht.

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 11:07
von #NULL
Kann es vielleicht auch zusätzlich noch sein, das DesktopWidth() etc. nur die client area zurückgeben, also ohne Browser toolbar u.d.g.?

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 11:13
von dige
Du kannst das nachträglich im DOM hinzufügen:

Code: Alles auswählen

! $('head').prepend('<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />');
Besser geht's mit Peters HtmlPreprocessor for SpiderBasic. Dann wird das schon beim laden der Seite berücksichtigt.

https://forums.spiderbasic.com/viewtopic.php?f=9&t=1543

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 11:26
von ccode_new
#NULL hat geschrieben:Kann es vielleicht auch zusätzlich noch sein, das DesktopWidth() etc. nur die client area zurückgeben, also ohne Browser toolbar u.d.g.?
Ja

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 11:55
von stevie1401
Den HtmlPreprocessor verstehe ich nicht einmal ansatzweise, funktioniert bei mir auch nicht.
Wenn ich es richtig verstanden habe gibt es keinen Befehl, der die richtige Auflösung darstellen kann. Was der HtmlPreprocessor macht, weiss ich leider nicht.
Gibt es vielleicht ein einfaches Beispiel, was ein Nicht-Informatiker verstehen kann?


Wo genau muss ich im Spiderbasiceditor
<meta name="viewport" content="width=device-width, initial-scale=1">
eingeben?

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 12:02
von ccode_new
Schaue dir mal den Link in meinem Beitrag genauer an.
;No Zoom
!$('head').append('<meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=0">');

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 14:27
von stevie1401
Ah - der Link ging vorhin nicht. Jetzt ging er.
Leider bringt weder

Code: Alles auswählen

!$('head').append('<meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=0">');
noch

Code: Alles auswählen

! $('head').prepend('<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no" />');
irgendeine Veränderung.

Re: Desktopwidth am Smartphone auslesen

Verfasst: 13.12.2019 15:16
von ccode_new
To get the native resolution of i.e. a mobile device you have to multiply with the device pixel ratio: window.screen.width * window.devicePixelRatio and window.screen.height * window.devicePixelRatio. This will also work on desktops, which will have a ratio of 1.