1. URL -Parsingfunktion
Die Codekopie lautet wie folgt:
<Script>
/**
*@param {String} URL -URL -URL -Adresse
*@Gibt {Objekt} benutzerdefiniertes Objekt zurück
*@Beschreibung Nutzungsbeispiel: 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 = Hallo'
myurl.params = Object = {id: 255, m: Hallo}
myurl.path = '/dir/index.html'
myurl.segmente = array = ['dir', 'index.html']
myurl.port = '8080'
myurl.protocol = 'http'
myurl.source = 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
*/
Funktion parseurl (url) {
var a = document.createelement ('a');
a.reif = url;
zurückkehren {
Quelle: URL,
Protokoll: A.Protocol.Replace (':', ''),
Gastgeber: a.hostname,
Hafen: A.Port,
Abfrage: A.Search,
Parameter: (function () {
var ret = {},
Seg = A.Search.Replace (/^/?/, ''). Split ('&'),
Len = Seg.Length, i = 0, s;
für (; i <len; i ++) {
if (! Seg [i]) {Weiter; }
S = SEG [i] .Split ('=');
ret [s [0]] = s [1];
}
Rückkehr;
}) (),
Datei: (A.PathName.Match (/// ([^//?#]+) $/i) || [, '']) [1],
Hash: a.hash.replace ('#', ''),
Pfad: a.pathname.replace (/^([^//])/, '/$ 1'),
Relativ: (a.href.match (/tps?: //// [^//]+(.+)/) || [, '']) [1],
Segmente: 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');
Alarm (Myurl.Path);
alarm (myurl.params.m);
alarm (myurl.params.pid);
</script>
2. JS Segmentierte URL -Analyse
URL: Einheitlicher Ressourcenlocator (URL)
Die vollständige URL besteht aus diesen Teilen: Schema: // Host: Port/Pfad? Abfrage#Fragment
Die Codekopie lautet wie folgt:
Schema = Kommunikationsprotokoll (häufig verwendet HTTP, FTP, Maito usw.)
Host = Host (Domänenname oder IP)
Port = Portnummer
Pfad = Pfad
query = query (optional, verwendet, um Parameter an dynamische Webseiten zu übergeben (z. B. Webseiten, die mit CGI, ISAPI, PHP/JSP/ASP/ASP.NET und anderen Technologien hergestellt wurden). Es kann mehrere Parameter, getrennt durch das "&" -Symbol und der Name und Wert jedes Parameters getrennt werden, werden durch das "=" -Symbol getrennt.).
Fragment = Information Fragment (eine Zeichenfolge, mit der Fragmente in einer Netzwerkressource angegeben werden. Wenn beispielsweise mehrere Erklärungen für Substantive auf einer Webseite vorhanden sind, können Sie Fragment verwenden, um einen bestimmten Begriff Erläuterung direkt zu finden (auch als Anker bezeichnet).)
Für eine solche URL
//www.vevb.com:80/seo/?ver=1.0&id=6#imhere
Wir können die verschiedenen Teile davon in JavaScript bekommen
1, window.location.href
Die gesamte URL -Zeichenfolge (die vollständige Adressleiste im Browser)
2, window.location.Protocol
Der Protokollteil der URL
Dieses Beispiel gibt den Wert zurück: http:
3, window.location.host
Der Gastteil der URL
Rückgabewert in diesem Beispiel: www.vevb.com
4, window.location.port
Der Port Teil der URL
Wenn der Standard -80 -Port verwendet wird (Update: Auch wenn: 80 hinzugefügt wird), ist der Rückgabewert nicht der Standard -80, sondern das leere Zeichen
Dieses Beispiel gibt den Wert zurück: ""
5, window.location.PathName
Der Pfadteil der URL (dh die Dateiadresse)
Dieses Beispiel gibt den Wert zurück: /seo /
6, window.location.search
Abfrage (Parameter) Teil
Zusätzlich zur Zuweisung von Werten für dynamische Sprachen können wir auch statische Seiten angeben und JavaScript verwenden, um den Wert des Parameters zu erhalten, von dem angenommen wird, dass er sich befindet.
Rückgabewert in diesem Beispiel:? Ver = 1.0 & id = 6
7, window.location.hash
Ankerpunkt
Rückgabewert in diesem Beispiel: #imhere