site mobile - réinitialisation de la fenêtre d'affichage sur changement d'orientation
J'ai une page mobile qui est 590px de large. J'ai donc mis de la fenêtre d'affichage comme ceci:
<meta name = "viewport" content = "width = 590">
Lors de ma première visite de la page, soit en mode portrait ou paysage - il a l'air bien. La page occupe la largeur exactement. Mais quand je change l'orientation de la fenêtre d'affichage ne change pas. Quand je passe du mode portrait au paysage de la fenêtre est plus large que l'590px, et vice versa.
Testé uniquement sur Galaxy S2
OriginalL'auteur Moshe Shaham | 2012-04-19
Vous devez vous connecter pour publier un commentaire.
Cela sonne exactement comme le problème que j'ai. Je ne pouvais pas trouver un consolidés réponse donc a la pièce d'un ensemble.
Tout d'abord, tout le CSS qui est apparu différents sur le portrait et horizontale devait être mis dans une de @media tag. Il est important de droite l'ensemble de la classe dans chaque @sélecteur de médias, et pas seulement les bits qui sont différents. CSS, qui est commun à ces deux points de vue peuvent arrivés au sommet. Mon appareil largeur était de montrer au 580, j'ai donc fixé le seuil de coupure à 600 - vous pouvez mettre ce que vous pensez est juste pour vous.
Suivante était de la fenêtre d'affichage des paramètres. J'ai mis ce code en standard dans chacun de mes page têtes (la taille de mon Téléphone Mobile est le Portrait de la taille). Il a besoin de la méta-il donc que le javascript peut obtenir plus tard.
Enfin, j'ai eu à utiliser du Javascript pour ré-écrire la fenêtre d'affichage des paramètres lorsque la page a détecté une rotation du téléphone (grâce à Vinayak.B Article Original)
Après des HEURES à essayer des choses, c'est ce qui a fonctionné pour moi. Pour une raison que sur mon téléphone, initial-scale=1 vissé, mais 0.25 travaillé?! J'espère que cela fonctionne pour vous ou, au moins, offre un bon point de départ.
OriginalL'auteur Pete.K
Utilisation de l'appareil-largeur :
Cela gère les changements d'orientation.
oh, je vois, vous souhaitez mettre à l'échelle le contenu pour l'adapter à votre écran. Avez-vous quelque chose de plus grand que le 590px boîte sur votre page? Essayez de ne pas utiliser la fenêtre d'affichage de la balise meta, suffit de le retirer.
oui, c'est ce que je veux. tout ce que j'ai est 590px div. essayé sans fenêtre - boîte de ne pas remplir toute la largeur
il a essayé, ne fonctionne pas
Peut-être un peu en retard, ou vous avez probablement trouvé une solution de contournement déjà, mais vous pouvez essayer quelque chose comme ceci: <meta name="viewport" content="width=device-width, initial-scale=1.2"> la page 120% plus grande que la largeur de l'appareil. si cela fonctionne, il suffit d'ajuster la première échelle pour la faire correspondre à la façon dont vous le souhaitez.
OriginalL'auteur gabitzish
Eu le même problème, c'était ma solution.
Recharger la page après un changement d'orientation, puis régler la fenêtre d'affichage des variables basées sur une nouvelle orientation.
OriginalL'auteur hoppipolla
C'est ce qui a fonctionné pour moi (testé à la fois sur iOS Safari et Chrome).
Je voulais force de fenêtre d'affichage à 400px en mode portrait et à 600px en mode paysage.
Espère que cela aide!
OriginalL'auteur maestroosram
la matchMedia fonction fonctionne très bien sur Android dans mes tests:
OriginalL'auteur Ryan Price
Réinitialiser la fenêtre d'affichage après changement d'orientation. Ce JS pourrait fonctionner, à condition d'avoir
OriginalL'auteur Ratnakar
Je suis assez certain que vous ne pouvez ramassage le changement d'orientation dans la Galaxie à l'aide de JS.
Essayez l'extrait de code ci-dessous.
À partir d'un related post: Changement d'Orientation dans Android à l'aide de javascript
Définir une classe pour le code html, puis l'utiliser .portrait ou .paysage dans votre CSS: si ( is_portrait() ) { document.getElementTagName("html").setAttribute("class", "portrait"); } else if ( is_landscape() ) { document.getElementTagName("html").setAttribute("class", "paysage"); }
mais je ne veux pas modifier le css. j'ai un 590px boîte et c'est tout. je ne peux pas être changé. mais je veux utiliser l'appareil capacité à adapter la page à l'écran
OriginalL'auteur The John Smith