2010-06-21 4 views
0

Je l'ai presque atteint, mais je n'ai pas assez de puissance cérébrale pour terminer l'étape finale.JQuery - obtenir la page?

C'est ce qui se passe en ce moment.

1) Chargement de la page 2) Lorsqu'un lien est cliqué, un hachage est ajouté à l'URL avec l'ID de la page. Ceci est enregistré dans l'historique du navigateur.

J'ai l'appel Ajax mis en place, si je l'attache à la fonction de liaison, cela fonctionne très bien. Le problème consiste à obtenir l'ID de l'URL. Voici ce que j'ai.

var id = urlToId(window.location); 
if (id != undefined) { 
    go(id); 
} 

function urlToId(url) { alert(url); 
    var segments = url.split('#'); alert(segments); 
    var id = segments[1]; 
    return id; 
} 

alerte (url) = http://localhost/site/index.php?p=1#1 - Javascript Erreur: url.split est pas une fonction.

Je sens que si je peux juste me débarrasser de l'erreur JavaScript, je devrais être en or.

Répondre

1

Essayez ceci:

function urlToId() { 
    return window.location.hash.substr(1); 
} 
0

Votre paramètre url fait référence à l'objet window.location qui n'a pas de fonction split (ce n'est pas une chaîne).

Essayez plutôt window.location.hash à la place, cela retournera juste à partir du # comme une chaîne. Plutôt que l'objet window.location.

var id = hashToId(window.location.hash); 
if (id != undefined) { 
    go(id); 
} 

function hashToId(hash) { 
    return hash.slice(1); // remove the leading # 
} 
Questions connexes