Desktopwidth am Smartphone auslesen

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 597
Registriert: 19.10.2014 15:51
Kontaktdaten:

Desktopwidth am Smartphone auslesen

Beitrag 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?
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Desktopwidth am Smartphone auslesen

Beitrag 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.
Zuletzt geändert von ccode_new am 13.12.2019 17:43, insgesamt 3-mal geändert.
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
Benutzeravatar
#NULL
Beiträge: 2220
Registriert: 20.04.2006 09:50

Re: Desktopwidth am Smartphone auslesen

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
#NULL
Beiträge: 2220
Registriert: 20.04.2006 09:50

Re: Desktopwidth am Smartphone auslesen

Beitrag 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.?
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
dige
Beiträge: 1070
Registriert: 08.09.2004 08:53

Re: Desktopwidth am Smartphone auslesen

Beitrag 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
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Desktopwidth am Smartphone auslesen

Beitrag 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
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
stevie1401
Beiträge: 597
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Desktopwidth am Smartphone auslesen

Beitrag 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?
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Desktopwidth am Smartphone auslesen

Beitrag 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">');
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
stevie1401
Beiträge: 597
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Desktopwidth am Smartphone auslesen

Beitrag 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.
Ich programmiere plattformunabhängig und suche immer Lösungen für alle Plattformen.
Win 7/10, Linux Mint Cindy 3 (Debian), Mint 18.3 / 19.1
ccode_new
Beiträge: 1074
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Desktopwidth am Smartphone auslesen

Beitrag 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.
Betriebssysteme: MX Linux 19 / Windows 10 / Mac OS 10.15.7 / Android 7.0 ;)

Manchmal muß das Rad neu erfunden werden.
Antworten