Touchant avec le navigateur Webkit dans le nouveau Kindle 3G, j'ai remarqué que Mais de manière intéressante, chrome et safari (qui sont également webkit) fonctionnant sur mon bureau signalent la résolution d'écran réelle. P>
Selon MDC , ces propriétés ne font partie d'aucune spécification Donc, il n'y a probablement aucune définition stricte de quelle largeur / hauteur devrait signaler. Mais, ne devrait-on pas s'attendre à ce qu'ils reflètent les dimensions actuelles de l'écran? P> fenêtre.screen.width code> et
fenêtre.Screen.height code> Ne reflètent pas l'écran réel dimensions. Les dimensions de l'écran physique (ou plutôt du papier) sont
4 Réponses :
Il semblerait que Screen.AvailWidth et Screen.Width renvoie tous deux la disponibilité du temps, sur de nombreux systèmes d'exploitation mobiles. P>
Je n'ai pas pu trouver de documentation à ce sujet, mais j'ai testé Android 2.2 et obtenu la taille de l'écran moins la barre de menus supérieure exactement peu importe la demande requise. P>
Je n'ai pas testé cela sur autre chose que WebKit sur le système d'exploitation mobile 'Cependant, j'ai trouvé plusieurs points d'échec et d'autres bizarreries. La première bizarrerie est que l'écran.Height fonctionne sur Linux et WebKit (ainsi que le KHTML préfigurent) ensemble. Pourtant, sur le Kindle et Android, il échoue, tous deux exécutant Linux et Webkit à leur noyau. Cela conduit à commencer à envisager d'autres possibilités telles que Squirelfish étant le distributeur des mauvaises données.
Je pense que webkit ne peut rien faire s'il s'agit de valeurs erronées du système. Bien sûr, ces valeurs doivent être représentées par écran.AvailWidth and Screen.Availheight, mais je pense que cela est lié à Event.Screenx et événement.Screeny pour les positions de la souris (pointeur). P>
Intéressant, navigator.appversion code> rapports
5.0 (Linux; u; fr-US) Applewebkit / 528.5 (KHTML, comme Gecko, Safari / 528.5) Version / 4.0 Kindle / 3.0 (Écran 600x800; Tourner 600x800; Tourner ) code> dans les modes de paysage et de portrait. Même si le bit
600x800 code> est correct, je suppose qu'il est codé dur et non lu dans le système. Donc, vous avez raison, c'est probablement le système pas correctement (?) Signaler les dimensions de l'écran.
mise à jour:
Le problème que nous voyons dans l'émulateur avec fenêtre.Screen.Width est lorsque nous utilisons des écrans qui ne reflètent pas les pixels réels de l'appareil. Donc, ce que vous voyez sur l'écran est 320 et ce que l'appareil est 480 ou autre. Je ne comprends cependant pas pourquoi la valeur de la largeur de l'écran donnerait la taille de l'émulateur sur l'écran et non les pixels réels. P>
Cette chose pourrait être le même problème avec les appareils? Si leur densité est plus élevée à certaines tailles ... pour la raison pour laquelle cela pourrait traduire à une taille de largeur d'écran incorrecte? P>
De toute façon, lisez ci-dessous pour ma solution. P>
écran.AvailWidth ne fonctionne pas pour moi sur certaines tailles d'écran sur l'émulateur. P>
Seule chose ne fonctionne que pour moi maintenant est la suivante: p> qui reviendra la valeur de la fenêtre. Dans mon cas, je suis une application HTML5. Ces valeurs ne seront pas à jour sur zoom, apparemment. P> Ils ont des problèmes avec cette tailles sur la webkit d'Android. Vous pouvez voir les devs d'Android en parler ici . Probablement fixé en nid d'abeille. P> Quelqu'un affirme qu'il faut quelques tailles comme si le clavier logiciel serait présent. P> p>
La différence est que la taille de la barre d'état Android et ou la barre inférieure. p>