In der WEB-Entwicklung wird häufig Javascript verwendet, um die URL-Informationen der aktuellen Seite abzurufen. Hier ist meine Zusammenfassung zum Abrufen von URL-Informationen.
Nehmen wir ein Beispiel einer URL und erhalten ihre verschiedenen Komponenten: http://i.cnblogs.com/EditPosts.aspx?opt=1
1. window.location.href (die gesamte URL als Zeichenfolge festlegen oder abrufen)
var test = window.location.href;
alarm(test);
Zurück: http://i.cnblogs.com/EditPosts.aspx?opt=1
2. window.location.protocol (den Protokollteil der URL festlegen oder abrufen)
var test = window.location.protocol;
alarm(test);
Zurück: http:
3. window.location.host (den Host-Teil der URL festlegen oder abrufen)
var test = window.location.host;
alarm(test);
Zurück: i.cnblogs.com
4. window.location.port (Legen Sie die mit der URL verknüpfte Portnummer fest oder rufen Sie sie ab)
var test = window.location.port;
alarm(test);
Rückgabe: Nullzeichen (wenn der Standardport 80 verwendet wird (Update: auch wenn :80 hinzugefügt wird), ist der Rückgabewert nicht der Standardport 80, sondern das Nullzeichen)
5. window.location.pathname (den Pfadteil der URL (d. h. die Dateiadresse) festlegen oder abrufen)
var test = window.location.pathname;
alarm(test);
Rückgabe: /EditPosts.aspx
6. window.location.search (den Teil hinter dem Fragezeichen im href-Attribut festlegen oder abrufen)
var test = window.location.search;
alarm(test);
Rückgabe:?opt=1
PS: Um den Abfrageteil (Parameter) zu erhalten, können wir neben der Zuweisung von Werten zu dynamischen Sprachen auch statische Seiten zuweisen und Javascript verwenden, um die entsprechenden Parameterwerte zu erhalten.
7. window.location.hash (das Segment nach dem Nummernzeichen „#“ im href-Attribut festlegen oder abrufen)
var test = window.location.hash;
alarm(test);
Rückgabe: leeres Zeichen (da keines in der URL vorhanden ist)
8. js ruft den Parameterwert in der URL ab
1. Regelmäßigkeitsmethode
function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var r = window.location.search.substr(1).match(reg); if (r != null) { return unescape(r[2]); } return null; } // 这样调用: alert(GetQueryString("参数名1")); alert(GetQueryString("参数名2")); alert(GetQueryString("参数名3"));
2. Split-Methode
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; } var Request = new Object(); Request = GetRequest();<br>// var id=Request["id"]; // var 参数1,参数2,参数3,参数N; // 参数1 = Request['参数1']; // 参数2 = Request['参数2']; // 参数3 = Request['参数3']; // 参数N = Request['参数N'];
3. Zur Abholung angeben
Wenn wir beispielsweise für eine URL: http://i.cnblogs.com/?j=js den Wert des Parameters j erhalten möchten, können wir ihn über die folgende Funktion aufrufen.
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配 var context = ""; if (r != null) context = r[2]; reg = null; r = null; return context == null || context == "" || context == "undefined" ? "" : context; } alert(GetQueryString("j"));
4. So erhalten Sie einen einzelnen Parameter
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 if (url.indexOf("?") != -1) { //判断是否有参数 var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串 strs = str.split("="); //用等号进行分隔 (因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔) alert(strs[1]); //直接弹出第一个参数 (如果有多个参数 还要进行循环的) } }
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für alle hilfreich ist, um zu verstehen, wie er die URL-Informationen der aktuellen Seite erhält.