2010-11-11 3 views
0

Je suis nouveau à javascript, et je me demandais si seulement ruth html méta ligne conditionnellement. Je veux fondamentalement naviguer vers Mypage seulement lorsque le statut if est vrai.Exécuter Meta Http ligne contionally en javascript

<SCRIPT type='"text/javascript"'> 
if(true) 
Execute the below meta http (Navigate to Mypage.aspx) 
else 
stay here 
</SCRIPT> 
<meta http-equiv="refresh" content="10;url=http://MyPage.aspx"> 

Merci.

+1

Quelle condition envisagez-vous de vérifier dans votre instruction 'if'? En d'autres termes, qu'essayez-vous vraiment de faire? –

+0

Dans le cas si statment, je vais vérifier navigator.userAgent pour vérifier si l'utilisateur provient de navigateur mobile et si cela est vrai, je vais le rediriger vers Mypage.aspx autre sage je ne fais rien (Rester dans la même page) . – Tony

Répondre

2

Vous pouvez faire ce que vous avez besoin directement en Javascript en utilisant

if (your_condition) 
    { window.location.href="newpage.htm" } 

si vous voulez garder les 10 secondes d'attente, utilisez

if (your_condition) 
    { setTimeout(function() { window.location.href="newpage.htm" }, 10000); } 
0

JavaScript permet d'écrire HTML dans le document pendant est en train d'être chargé en utilisant document.write("string here"). Cependant, il est préférable d'utiliser l'objet window.location, qui contient les différentes parties de l'URL. Dans votre cas, vous souhaitez définir window.location.href (l'URL complète) sur la destination de redirection. Vous pouvez essayer de rechercher un navigateur mobile à l'aide d'une expression régulière, également appelée expression rationnelle.

Sans les dix secondes de retard: (L'expression rationnelle est celle de Wikipedia utilise pour la redirection vers son site mobile.)

if(/(Android|iPhone|iPod|webOS|NetFront|Opera Mini|SEMC-Browser|PlayStation Portable|Nintendo Wii|BlackBerry)/.test(navigator.userAgent)) { 
    window.location.href = "page_you_want_to_redirect_to"; 
} 

En JavaScript, une expression rationnelle est un objet. Sa méthode .test renvoie une valeur booléenne (true/false) indiquant si l'expression rationnelle correspond à l'argument de chaîne.

Avec les dix secondes de retard:

if(/(Android|iPhone|iPod|webOS|NetFront|Opera Mini|SEMC-Browser|PlayStation Portable|Nintendo Wii|BlackBerry)/.test(navigator.userAgent)) { 
    setTimeout(function() { 
     window.location.href = "page_you_want_to_redirect_to"; 
    }, 10000); 
} 

Qu'est-ce que setTimeout? setTimeout est la fonction JavaScript permettant d'exécuter du code après une temporisation en millisecondes [10000 ms = 10 s]. Le code à exécuter est contenu dans function() { ... }, ce qui crée une fermeture (une caractéristique essentielle de JavaScript).