1. Fonction d'analyse d'URL
La copie de code est la suivante:
<cript>
/ **
* @ param {String} URL Adresse URL complète
* @ renvoie {objet} objet personnalisé
* @ Description Exemple d'utilisation: var myurl = parseurl ('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
myurl.file = 'index.html'
myUrl.hash = 'top'
myurl.host = 'abc.com'
myUrl.Query = '? Id = 255 & m = Bonjour'
myUrl.params = objet = {id: 255, m: bonjour}
myUrl.path = '/dir/index.html'
myUrl.segments = array = ['dir', 'index.html']
myurl.port = '8080'
myUrl.protocol = 'http'
myUrl.source = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
* /
fonction parseUrl (url) {
var a = document.CreateElement ('a');
a.href = url;
retour {
Source: URL,
protocole: a.protocol.replace (':', ''),
Hôte: a.hostname,
Port: a.port,
requête: a.search,
params: (function () {
var ret = {},
seg = a.search.replace (/ ^ /? /, ''). Split ('&'),
len = seg.length, i = 0, s;
pour (; i <len; i ++) {
if (! seg [i]) {continuer; }
s = seg [i] .split ('=');
ret [s [0]] = s [1];
}
retour retour;
}) (),
Fichier: (a.pathname.match (/// ([^ //? #] +) $ / i) || [, '']) [1],
hash: a.hash.replace ('#', ''),
Chemin: a.pathname.replace (/ ^ ([^ //]) /, '/ 1 $'),
relatif: (a.href.match (/ tps?: //// [^ //] + (. +) /) || [, '']) [1],
segments: a.pathname.replace (/ ^ ///, ''). Split ('/')
};
}
// var myUrl = parseurl ('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
var myUrl = parseurl ('http: // localhost: 8080 / test / mytest / tologina.ction? m = 123 & pid = abc');
alerte (myurl.path);
alert (myurl.params.m);
alert (myurl.params.pid);
</cript>
2. Analyse URL segmentée JS
URL: Locator de ressources uniformes (URL)
L'URL complète se compose de ces parties: schéma: // hôte: port / chemin? Requête # fragment
La copie de code est la suivante:
schéma = protocole de communication (HTTP, FTP, MAITO, etc.) couramment utilisé
host = host (nom de domaine ou ip)
port = numéro de port
chemin = chemin
Query = Query (facultatif, utilisé pour transmettre des paramètres aux pages Web dynamiques (telles que les pages Web fabriquées à l'aide de CGI, ISAPI, PHP / JSP / ASP / ASP.NET et d'autres technologies). Il peut y avoir plusieurs paramètres, séparés par le symbole "&", et le nom et la valeur de chaque paramètre sont séparés par le "=" symbole.).
Fragment = Fragment d'informations (une chaîne utilisée pour spécifier des fragments dans une ressource réseau. Par exemple, s'il existe plusieurs explications de noms dans une page Web, vous pouvez utiliser un fragment pour localiser directement une certaine explication de terme (également connue sous le nom d'ancre.)))
Pour une telle URL
//www.vevb.com:80/seo/?ver=1.0&id=6#imhere
Nous pouvons en obtenir les différentes parties en JavaScript
1, window.location.href
La chaîne d'URL entière (la barre d'adresse complète dans le navigateur)
2, Window.Location.protocol
La partie protocole de l'URL
Cet exemple renvoie la valeur: http:
3, Window.Location.host
La partie hôte de l'URL
Valeur de retour dans cet exemple: www.vevb.com
4, window.location.port
La partie port de l'URL
Si le port 80 par défaut est utilisé (mise à jour: même si: 80 est ajouté), la valeur de retour n'est pas la par défaut 80 mais le caractère vide
Cet exemple renvoie la valeur: ""
5, fenêtre.location.pathname
La partie Chemin de l'URL (c'est-à-dire l'adresse du fichier)
Cet exemple renvoie la valeur: / SEO /
6, Window.Location.Search
Pièce de requête (paramètres)
En plus d'attribuer des valeurs aux langages dynamiques, nous pouvons également donner des pages statiques et utiliser JavaScript pour obtenir la valeur du paramètre qui serait.
Valeur de retour dans cet exemple :? ver = 1.0 & id = 6
7, Window.Location.hash
Point d'ancrage
Valeur de retour dans cet exemple: #imhere