Desktopwidth am Smartphone auslesen

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 659
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 nur noch mit Linux.
Linux Mint 21.x
ccode_new
Beiträge: 1214
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: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
#NULL
Beiträge: 2235
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: 2235
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: 1179
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: 1214
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: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
stevie1401
Beiträge: 659
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 nur noch mit Linux.
Linux Mint 21.x
ccode_new
Beiträge: 1214
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: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
stevie1401
Beiträge: 659
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 nur noch mit Linux.
Linux Mint 21.x
ccode_new
Beiträge: 1214
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: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten