2010-11-08 7 views
0

J'ai récemment pris un exemple de lecture de hashtags multiples à partir d'un URL, tandis que la première division fonctionne parfaitement bien la deuxième fois que j'essaie de renverser les valeurs une deuxième fois, il semble ne pas être lire comme vu j'ai essayé d'utiliser les alertes pour déterminer le problème et ils cessent de travailler coup de keyValuePair est initialisé.mulitple url hashtags ne pas être lu correctement

var mangaNumber = 0; 
    var chapterNumber = 0; 

    var i, variables = window.location.hash.split(';'); 

    if (variables.length > 0) { 
    // Variables present in hash 
    for (i = 0; i < variables.length; i++) { 

     var keyValuePair = variables.split('='); 

     if (keyValuePair[0] == mangaNo) { 
      mangaNumber = unescape(keyValuePair[1]); 
      alert(mangaNumber); 
     } 
     if (keyValuePair[0] == chapterNo) { 
      chapterNumber = unescape(keyValuePair[1]); 
      alert(chapterNumber); 
     } 
     if (keyValuePair[0] == pageNo) { 
      pageNumber = unescape(keyValuePair[1]); 
      alert(pageNumber); 
     } 
    } 
} 
else { 
    // No variables in the hash 
    alert('this is a fail foo'); 
} 
+0

Je présume que vous générez urls comme ceci: http://example.com/index.php#foo=bar#foo2=bar2 si oui wouldnt-il judicieux de diviser l'URL à # puis déposez le premier élément de tableau, puis vous devriez être laissé avec : foo = bar et foo2 = bar2 alors vous pouvez faire le split à = pour obtenir vos clés et vos valeurs. – Brady

+0

ne devriez-vous pas diviser par '#' au lieu de ';'? –

Répondre

0

Peut-être est juste une erreur que vous avez fait quand vous avez posté ici, mais essayez ceci:

var keyValuePair = variables[i].split('='); 

En outre, à moins que mangaNo etc sont en fait des variables (et non pas des chaînes), vous devez citer les:

if (keyValuePair[0] == "mangaNo") { 
    mangaNumber = unescape(keyValuePair[1]); 
    alert(mangaNumber); 
} 
... 
if (keyValuePair[0] == "chapterNo") { 
... 
if (keyValuePair[0] == "pageNo") { 
Questions connexes