215 votes

JavaScript - Get partie du chemin d’URL

Quelle est la bonne façon de sortir juste le chemin d’accès d’une URL à l’aide de JavaScript ?

Exemple :
J’ai URL
http://www.somedomain.com/account/Search?Filter=a#Top
mais je voudrais juste obtenir cette partie
/ compte/recherche

J’utilise jQuery si il n’y a rien là qui peuvent être exploitées.

483voto

NickC Points 13729

Il est une propriété de la bâtie-en window.location objet qui permettra de prévoir que, pour la fenêtre en cours.

// If URL is http://www.somedomain.com/account/search?filter=a#top

window.location.pathname // /account/search

// For reference:

window.location.host     // www.somedomain.com (includes port if there is one)
window.location.hostname // www.somedomain.com
window.location.hash     // #top
window.location.href     // http://www.somedomain.com/account/search?filter=a#top
window.location.port     // (empty string)
window.location.protocol // http:
window.location.search   // ?filter=a  



Mise à jour, utilisez les mêmes propriétés pour toute URL:

Il s'avère que ce schéma est normalisée d'une interface appelée URLUtils, et devinez quoi? L' window.location objet et d'ancrage des éléments de mettre en œuvre l'interface.

Ainsi, vous pouvez utiliser les mêmes propriétés ci-dessus pour toute URL — il suffit de créer un point d'ancrage avec l'URL d'accès et les propriétés:

var el = document.createElement('a');
el.href = "http://www.somedomain.com/account/search?filter=a#top";

el.host        // www.somedomain.com (includes port if there is one[1])
el.hostname    // www.somedomain.com
el.hash        // #top
el.href        // http://www.somedomain.com/account/search?filter=a#top
el.pathname    // /account/search
el.port        // (port if there is one[1])
el.protocol    // http:
el.search      // ?filter=a

[1]: prise en charge du Navigateur pour les propriétés qui sont le port n'est pas compatible, Voir: http://jessepollak.me/chrome-was-wrong-ie-was-right

Cela fonctionne dans les dernières versions de Chrome et Firefox. Je n'ai pas les versions d'Internet Explorer pour tester, donc s'il vous plaît tester vous-même avec le JSFiddle exemple.

JSFiddle exemple

Il y a aussi un à venir, URL objet qui permettra d'offrir ce soutien pour les Url eux-mêmes, sans le point d'ancrage de l'élément. Ressemble pas stable navigateurs prennent en charge à ce moment, mais il est dit d'être de retour dans Firefox 26. Quand vous pensez que vous pourriez avoir, essayez ici.

55voto

Jose Faeti Points 6997
<pre><code></code><p>Vous donnera un tableau contenant toutes vos pièces d’url, qhich, vous pouvez accéder comme un tableau normal.</p></pre>

31voto

nobody Points 5443

Si ce n’est l’utilisation actuelle des url window.location.pathname autrement utiliser cette expression régulière :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X