Webanwendung Handy oder Tablet herausfinden

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

Webanwendung Handy oder Tablet herausfinden

Beitrag von stevie1401 »

Is es bei einer Webanwendung mit Spider möglich herauszufinden, ob jemand an einem Handy oder einem Tablet spielt?
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Webanwendung Handy oder Tablet herausfinden

Beitrag von Kiffi »

Vielleicht hiermit:

Code: Alles auswählen

Procedure.s GetPlattform()
  ! return JSON.stringify(platform)
EndProcedure

Debug GetPlattform()
Bei mir (Windows-Desktop) kommt sowas raus:
{"description":"Chrome 111.0.0.0 on Windows 10 64-bit","layout":"Blink","manufacturer":null,"name":"Chrome","prerelease":null,"product":null,"ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 Edg/111.0.1661.54","version":"111.0.0.0","os":{"architecture":64,"family":"Windows","version":"10"}}
Du müsstest mal schauen, was bei mobile Devices rauskommt.
Hygge
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Webanwendung Handy oder Tablet herausfinden

Beitrag von DarkDragon »

Ansonsten gäbe es noch die Bildschirmmaße:

Math.min(screen.width, screen.height) / (window.devicePixelRatio * 96)

Alles unter 3 würde ich dort einfach als Smartphone ansehen. Aber einen offiziellen weg sowas zu erkennen ist mir nicht bekannt. Ich hatte mal ein ähnliches Problem: gibt's einen touch screen oder gibt es keinen?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
stevie1401
Beiträge: 659
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Webanwendung Handy oder Tablet herausfinden

Beitrag von stevie1401 »

Vielen Dank für die Tips!
Die werden mir sicher weiterhelfen :)

Ich habe übrigens herausgefunden, dass bei GetPlattform() bei Tablets im String kein "mobile" zu finden ist. Bei Handys schon. Das ist doch schon mal was.

Code: Alles auswählen


Procedure  check_Device()
  
  Protected.s dn   ,plattform,pcflg
 
  plattform= GetPlattform()
 dn=DesktopName(0)
 dn=lcase(dn)
    
  If FindString(dn,"mobile")>0 Or FindString(dn,"android")>0 Or FindString(dn,"ipad")>0 Or FindString(dn,"ipod")>0
    If FindString(LCase(plattform),"mobile")>0
      PcFlg=3 ;Handy
    Else
      PcFlg=2  ;Tablet
    EndIf
  Else
    PcFlg=1
  EndIf
  
  procedurerturn pcflg
  
  
EndProcedure



Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Antworten