Non sono completamente d'accordo con la risposta corretta sopra riportata. Realisticamente questa risposta è corretta in molti casi ... ma teoricamente non lo è. Spesso le richieste inoltrate a un server Web contengono un campo User-Agent che, in teoria, può essere utilizzato per discernere le informazioni relative alle risoluzioni e alle proprietà dello schermo del dispositivo.
Le richieste Web non passano prima attraverso il client. Passano al server, che serve quindi una pagina al client, quindi il server riceve prima la richiesta ... Ruby on Rails, ad esempio, riceve una richiesta tramite un controller azione su una risorsa e quindi pubblica una pagina per la risposta.
un'occhiata a un esempio UA parser come ad esempio: https://github.com/visionmedia/user-agent
Un agente utente di esempio viene inviato dal mio computer è:
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.11 (KHTML, like enter code here`Gecko) Chrome/17.0.963.83 Safari/535.11
penso che è eminentemente possibile fare una buona congettura che cosa il mio schermo la risoluzione (DPI ecc.) viene fornita tramite un server. Avresti, ovviamente, bisogno di una tabella di informazioni sul dispositivo per fare riferimento.
Per i dispositivi mobili diventa ancora più semplice. Se l'User-Agent è un Safari Mobile per iPad:
Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10
È possibile sapere con certezza quale forte la risoluzione dello schermo si trova sul server. Conoscerai anche l'altezza e la larghezza del browser. Sospetto che lo stesso sia vero per molti dispositivi mobili come Android o Win Mo.
Quindi, in sintesi, sono d'accordo che non sia pratico farlo ma non sono d'accordo.
Credo che Facebook abbia intrapreso un importante progetto di catalogazione di dispositivi e risoluzioni dello schermo e l'abbia reso open source perché hanno affrontato problemi simili durante la creazione dell'app per dispositivi mobili di Facebook, ad es. hanno dovuto catalogare tutte le discrepanze tra tutti i renderer dei browser mobili in modo che potessero personalizzare l'app del cliente in ogni singolo caso. Forse quel progetto potrebbe avere le informazioni necessarie per farlo ... in teoria.
Questo è quello che pensavo. Sto cercando di pensare a delle scappatoie ora. – dougoftheabaci
Non sono sicuro che ce ne siano - a meno che il client non ti dica, non vedo come, e ciò significherebbe ottenere alcune informazioni tramite JavaScript (probabilmente). Potresti * essere in grado di ottenere una piccola quantità di informazioni tramite l'agente utente, ma fondamentalmente è inutile. –
I commenti relativi ai downvotes sono apprezzati, in particolare sulle risposte corrette. Determinare la dimensione e la densità dello schermo si basa necessariamente sulle informazioni del cliente, questo è indiscutibile. Ottenere informazioni * accurate * è difficile a fatica –