PureBoard
http://forums.purebasic.com/german/

Desktopwidth am Smartphone auslesen
http://forums.purebasic.com/german/viewtopic.php?f=33&t=31767
Seite 1 von 2

Autor:  stevie1401 [ 13.12.2019 09:44 ]
Betreff des Beitrags:  Desktopwidth am Smartphone auslesen

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?

Autor:  ccode_new [ 13.12.2019 11:00 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

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/viewtopic.php?f=13&t=1288

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

Autor:  #NULL [ 13.12.2019 11:01 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

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:
<meta name="viewport" content="width=device-width, initial-scale=1">

Ob und wie das mit Spiderbasic geht weiß ich allerdings nicht.

Autor:  #NULL [ 13.12.2019 11:07 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

Kann es vielleicht auch zusätzlich noch sein, das DesktopWidth() etc. nur die client area zurückgeben, also ohne Browser toolbar u.d.g.?

Autor:  dige [ 13.12.2019 11:13 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

Du kannst das nachträglich im DOM hinzufügen:

Code:
! $('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

Autor:  ccode_new [ 13.12.2019 11:26 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

#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

Autor:  stevie1401 [ 13.12.2019 11:55 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

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
Zitat:
<meta name="viewport" content="width=device-width, initial-scale=1">

eingeben?

Autor:  ccode_new [ 13.12.2019 12:02 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

Schaue dir mal den Link in meinem Beitrag genauer an.

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

Autor:  stevie1401 [ 13.12.2019 14:27 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

Ah - der Link ging vorhin nicht. Jetzt ging er.
Leider bringt weder
Code:
!$('head').append('<meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=0">');

noch
Code:
! $('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.

Autor:  ccode_new [ 13.12.2019 15:16 ]
Betreff des Beitrags:  Re: Desktopwidth am Smartphone auslesen

Zitat:
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.

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/