In JS gibt es zwei Möglichkeiten, Adressbalkenparameter zu erhalten: Die erste besteht darin, reguläre Ausdrücke zu verwenden, um Adressbalkenparameter zu erhalten, und die zweite ist eine relativ herkömmliche Methode. Hier empfiehlt der Editor dringend die Verwendung der ersten Methode, die bequem und praktisch ist. Weitere Informationen finden Sie in den folgenden Details für den spezifischen Implementierungsprozess.
Methode 1: Verwenden Sie reguläre Ausdrücke, um Adressleistenparameter zu erhalten: (sehr empfohlen, sowohl praktisch als auch bequem!)
Funktion getQueryString (name) {var reg = new Regexp ("(^| &)" + name + "= ([^&]*) (& | $)"); var r = window.location.search.substr (1) .Match (reg); Null zurückgeben;}// Rufmethode
alert (getQueryString ("Parametername 1"));
alert (getQueryString ("Parametername 2"));
alert (getQueryString ("Parametername 3"));
Hier ist ein Beispiel:
Wenn die URL der Adressleiste lautet: abc.html? Id = 123 & url = http: //www.maidq.com
Dann, aber Sie verwenden die obige Methode, um aufzurufen: alarm (getQueryString ("url");
Ein Dialogfeld wird angezeigt: Der Inhalt ist http://www.maidq.com
Wenn Sie verwenden: alarm (GetQueryString ("id")); dann ist der Popup-Inhalt 123;
Wenn Sie beispielsweise keine Parameter übergeben, wenn Ihre Adresse ABC.HTML ist und es danach keinen Parameter gibt, meldet das Ergebnis erzwungene Ausgabergebnisse manchmal einen Fehler:
Daher müssen wir ein Urteil hinzufügen, um festzustellen, ob der von uns angeforderte Parameter leer ist, und zuerst den Wert einer Variablen zuweisen:
var myurl = getQueryString ("url"); if (myurl!Auf diese Weise werden Sie keinen Fehler melden!
Methode 2: Traditionelle Methode
<script type = "text/javaScript"> Funktion urlSearch () {var name, Wert; var str = location.href; // Die gesamte Adressleiste abrufen var num = str.Indexof ("?") Str = str.substr (num+1); // Alle Parameter stringvar.substr (start [, Länge] var arr = str.split ("&"); // Einen Parameter in das Array für (var i = 0; i <arr.length; i ++) {num = arr [i] .Indexof ("="); if (num> 0) {num = arr [i] .Indexof ("="); name = arr [i] .substring (0, num); value = arr [i] .substr (num+1); dieser [Name] = Wert;}}} var request = new urlSearch ();Speichern Sie diesen Code beispielsweise als 1.html
Dann möchte ich auf 1.html? Id = test zugreifen
Zu diesem Zeitpunkt wird der Testwert erhalten
In HTML gerufen
<script type = "text/javaScript"> var a = "http://baidu.com"; a = "http://xxx.com/gg.htm?cctv"; var s = a.indexof ("?"); var t = a.substring (s+1); // t ist das, was nach IT </script> kommtStringvar.substr (Start [, Länge]
Gibt eine Substring der angegebenen Länge aus der angegebenen Position zurück.
Stringvar
Erforderliche Option. Ein String buchstäblich oder ein String -Objekt, um ein Substring zu extrahieren.
Start
Erforderliche Option. Die Ausgangsposition des erforderlichen Substrings. Der Index des ersten Zeichens in der Zeichenfolge ist 0.
Länge
Optional. Die Anzahl der Zeichen, die in das zurückgegebene Substring aufgenommen werden sollten.
Wenn die Länge 0 oder negativ ist, wird eine leere Zeichenfolge zurückgegeben. Wenn dieser Parameter nicht angegeben ist, setzt sich das Substring bis zum Ende von StringVar fort.
Hier sind einige verwandte Parameter:
Str.TolowerCase () konvertiert in Kleinbuchstaben
Str.Touppercase () Alle Zeichenfolgen werden in Großbuchstaben umgewandelt
URL ist: einheitlicher Ressourcenlocator (URL)
Die vollständige URL besteht aus diesen Teilen:
Schema: // Host: Port/Pfad? Abfrage#Fragment
Schema: Kommunikationsprotokoll
Häufig verwendet HTTP, FTP, Maito usw.
Host: Host
Server (Computer) Domänenname System (DNS) Hostname oder IP -Adresse.
Port: Portnummer
Integer, optional, wird der Standardport des Schemas verwendet, wie beispielsweise der Standardport von HTTP 80.
Pfad: Pfad
Eine Zeichenfolge, die durch Null oder mehrere "/" -Symbole getrennt sind, wird im Allgemeinen verwendet, um eine Verzeichnis oder eine Dateiadresse auf dem Host darzustellen.
Abfrage: Abfrage
Optional wird es 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 geben, die durch das Symbol "&" getrennt sind, und der Name und der Wert jedes Parameters werden durch das Symbol "=" getrennt.
Fragment: Informationsfragment
Eine Zeichenfolge, die Fragmente in einer Netzwerkressource angibt. Beispielsweise gibt es auf einer Webseite mehrere Erklärungen des Substantivs, und Sie können Fragment verwenden, um einen bestimmten Begriff zu finden. (Auch als Ankerpunkte bekannt.)
Für eine solche URL
http://www.maidq.com/index.html?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)
Rückgabewert in diesem Beispiel: http://www.maidq.com/index.html?ver=1.0&id=6#imhere
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.maidq.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: /fisker/post/0703/window.location.html
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
Das obige ist die vollständige Beschreibung der beiden Methoden (einfach und praktisch) von JS, um Adressbalkenparameter zu erhalten, die vom Editor eingeführt wurden. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!