In Projekten kommt es häufig vor, dass eine Liste, beispielsweise eine Fallliste, vorhanden ist und durch Klicken auf ein Element in der Liste zur Detailseite gesprungen wird. Die Details werden auf der Grundlage eines angeklickten Datensatzes generiert, da die Fälle und spezifischen Detailseiten später von Benutzern hinzugefügt werden. Wenn wir mit dem Schreiben beginnen, ist es unmöglich, sie alle auszuschöpfen. Daher müssen wir beim Springen zur Seite einen Parameter übergeben, damit wir über diesen Parameter eine Datenanforderung stellen und dann die Seite basierend auf den vom Hintergrund zurückgegebenen Daten generieren können. Daher wird das Überspringen des a-Tags definitiv nicht funktionieren.
Wir schreiben oft Formulare, indem wir Parameter übergeben und diese ausblenden.
Darüber hinaus können auch window.location.href und window.open diesen Effekt erzielen.
1. Übergeben Sie Parameter durch das Formular<html lang=en> <head> <!--Website-Kodierungsformat, internationale Kodierung UTF-8, chinesische Kodierung GBK oder gb2312--> <meta http-equiv=content-type content=text/html;charset=utf- 8 /> <meta name=Keywords content=Keywords eins, Keywords zwei> <meta name=Description content=Inhalt der Website-Beschreibung> <meta name=Author content=Yvette Lau> <title>Dokument</title> <!--Einführung der CSS-JS-Datei--> <!-- <link rel=shortcut icon href=images/favicon.ico> --> <link rel=stylesheet href=/> <script type = text/javascript src = jquery-1.11.2.min.js></script> </head> <body> <form name = frm method = get action =empfangen.html onsubmit = return foo() style = position:relative;> <input type=hidden name=hid value = index = Lemon> <img class = more src = main_jpg10.png /> <input type = subscribe style = position:absolute; left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;/> </form> <form name = frm method = get action = take.html onsubmit = return foo() style = position:relative;> <input type=hidden name=hid value = index = aaa> <img class = more src = main_jpg10.png /> <Eingabetyp = Submit-Stil = position:absolute;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;/> </form> <form name = frm method = get action = take.html onsubmit = return foo() style = position:relative;> <input type=hidden name=hid value = index = bbb> <img class = more src = main_jpg10.png /> <input type = subscribe style = position:absolute;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;/> </form> </body> </html><script> function foo(){ var frm = window.event.srcElement = $(frm.hid).attr(index); return true;
Wenn Sie auf das Bild klicken, wird zur Seite „receive.html“ gesprungen. Die URL der Seite wird:
Die Zeichenfolge, die wir übergeben möchten, wurde übergeben.
Führen Sie dann eine Zeichenfolgenaufteilung für die aktuelle URL durch
window.location.href.split(=)[1]//Zitrone holen
Nachdem wir die Parameter erhalten haben, die übergeben werden müssen, können wir auf dieser Grundlage mit dem nächsten Schritt fortfahren.
Zusätzlich zur oben genannten Zeichenfolgenaufteilung zum Erhalten der von der URL übergebenen Parameter können wir diese auch durch regulären Abgleich und die Methode window.location.search erhalten.
2. Über window.location.hrefWenn wir beispielsweise auf eine Liste klicken, müssen wir eine Zeichenfolge an die Seite „detail.html“ übergeben. Anschließend lädt die Seite „detail.html“ den Inhalt der Seite über Ajax-Interaktionsdaten basierend auf dem übergebenen Wert.
var index = Lemon; var url =empfangen.html?index=+index; $(#more).click(function(){ window.location.href = url; });
Die aktuelle Seite wird durch die Seite recieve.html ersetzt und die URL der Seite wird zu:
Dann verwenden wir die obige Methode, um die benötigten Parameter zu extrahieren
3. Über window.location.openWenn Sie eine neue Seite öffnen möchten, anstatt die aktuelle Seite zu ändern, ist window.location.href nicht anwendbar. Zu diesem Zeitpunkt müssen wir window.location.open() verwenden, um dies zu erreichen.
Eine kurze Einführung in die Funktion window.open(). Der erste Parameter ist die URL der zu öffnenden Seite. Der dritte Parameter ist eine bestimmte Zeichenfolge Ein boolescher Wert, der angibt, ob die neue Seite die aktuell geladene Seite im Browserverlauf ersetzt. Es muss nur der erste Parameter übergeben werden. Der zweite Parameter kann auch ein spezieller Fenstername sein, z. B. _blank, _self, _parent, _top. _blank öffnet ein neues Fenster und _self erzielt den gleichen Effekt wie window.location.href.
Weiter mit obigem Beispiel:
<script> var index = Lemon; var url =empfangen.html?index=+index; $(#more).click(function(){ window.open(url) });</script>
Auf diese Weise wird beim Klicken eine neue Seite mit derselben URL-Adresse wie oben geöffnet.
Aufgrund von Browser-Sicherheitseinschränkungen fügen einige Browser Einschränkungen bei der Popup-Fensterkonfiguration hinzu. Die meisten Browser verfügen über integrierte Programme zum Blockieren von Popup-Fenstern Eine Möglichkeit besteht darin, dass das integrierte Blockierungsprogramm des Browsers Popup-Fenster blockiert, sodass window.open() wahrscheinlich Null zurückgibt. Zu diesem Zeitpunkt können Sie feststellen, ob das Popup-Fenster blockiert wurde durch Überwachung des zurückgegebenen Werts.
var newWin = window.open(url);if(newWin == null){ Alert(Pop-up blockiert);}
Das andere ist ein Popup-Fenster, das von einer Browsererweiterung oder einem anderen Programm blockiert wird. Dann gibt window.open() normalerweise einen Fehler aus. Um genau zu erkennen, ob das Popup-Fenster blockiert ist, müssen Sie den Rückgabewert ermitteln Gleichzeitig ist window.open() in einem Try-Catch-Block gekapselt. Im obigen Beispiel kann es wie folgt geschrieben werden:
<script> var blockiert = false; try{ var index = lemon; var url = take.html?index=+index; $(#more).click(function(){ var newWin = window.open(url); if (newWin == null){ blockiert = true; } } Catch(ex){ block = true;
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.