Puis-je modifier la balise meta de viewport dans un safari mobile à la volée?
J'ai une application ajax construit pour le navigateur Safari mobile qui a besoin d'afficher les différents types de contenu. Certains contenus, et j'ai besoin d'user-scalable=1 contenu d'autres j'ai besoin d'user-scalable=0. Est-il un moyen de mettre à jour ce à la volée sans rafraichissement de la page?
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
source d'informationauteur Pepper | 2010-08-27
Vous devez vous connecter pour publier un commentaire.
Je réalise que c'est un peu vieux, mais, oui, il peut être fait. Un peu de javascript pour vous aider à démarrer:
Il suffit de changer les pièces dont vous avez besoin et Mobile Safari de respecter les nouveaux paramètres.
Mise à jour:
Si vous ne disposez pas déjà de la balise meta "viewport" dans la source, vous pouvez l'ajouter directement avec quelque chose comme ceci:
Ou si vous utilisez jQuery:
dans votre
<head>
quelque part dans votre code javascript
... mais bonne chance avec le tordre pour votre appareil, jouant du violon pendant des heures... et je ne suis pas encore là!
source
Ce qui a été répondu, pour la plupart, mais je vais développer...
Étape 1
Mon objectif était de permettre à zoom, à certains moments, et le désactiver à d'autres.
Étape 2
De la fenêtre d'affichage de la balise permettrait de mettre à jour, mais pincée de zoom est toujours actif!! J'ai dû trouver une façon d'obtenir la page pour chercher les modifications...
C'est un hack de la solution, mais le basculement de l'opacité du corps a fait le tour. Je suis sûr qu'il ya d'autres façons de le faire, mais voici ce qui a fonctionné pour moi.
Étape 3
Mon problème a surtout été résolu à ce point, mais pas tout à fait. J'ai besoin de savoir le niveau de zoom actuel de la page afin que je puisse redimensionner des éléments d'ajustement sur la page (pensez à des marqueurs de carte).
J'espère que cela aide quelqu'un. J'ai passé plusieurs heures à se taper la souris avant de trouver une solution.