2010-08-30 27 views
3

J'ai créé un exemple de script pour ajouter et supprimer des métatags de la tête. Mais Android 2.2 ne semble pas respecter son retrait. Cependant, il respecte l'ajout de la métabalise sur le clic par exemple .. Comment puis-je l'obtenir pour respecter la suppression de la balise et revenir à la fenêtre d'affichage par défaut via javascript?Android ne respectant pas le retrait de metatag?

<script type="text/javascript"> 

$(document).ready(function(){ 
function initMeta(){ 
var headID = document.getElementsByTagName("head")[0];   
var metaNode = document.createElement('meta'); 
metaNode.name = 'viewport'; 
metaNode.content = 'width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0'; 
metaNode.id = 'metatag'; 
headID.appendChild(metaNode);} 

function closeMeta(){ 
$("#metatag").remove();} 


$("#add").click(function(){initMeta();alert("meta opened");}); 
$("#del").click(function(){closeMeta();alert("meta closed");}); 

}); 

</script> 

<input name="add" type="button" value="add metatag" id="add"/> 
<input name="del" type="button" value="delete metatag" id="del"/> 
+0

des idées les gars? – Chamilyan

Répondre

3

Je note également ce comportement dans iOS Safari.

Vous supprimez effectivement la balise meta (vérifiable par DOM - Essayez d'alerter $ (« # metatag ») de longueur après le retrait.)

Le problème est la fenêtre elle-même ne répond pas à l'absence de contenu dans ce marque. Si vous mettez à jour le contenu ou ajoutez de nouveau le meta tag avec du nouveau contenu, vous devriez le voir apparaître sur votre écran. Mais en supprimant simplement la méta-balise, l'UA semble penser "pas de changement nécessaire" car il n'y a pas d'instructions explicites.

Espérons que ça aide! Votre question/exemple m'a aidé à réaliser que c'était même possible!

+0

merci, est parfaitement logique. – Chamilyan