Hinzufügen/Ändern der query-string / GET-Variablen in einer url-mit javascript
So, ich bin zu wollen, ersetzen GET-variable Werte in eine url ein, und wenn die variable nicht existiert, dann fügen Sie die url.
EDIT: ich bin dafür die a-Elemente href nicht die Seiten, die aktuelle Lage..
Ich bin nicht gut mit javascript aber ich weiß, wie jQuery sehr gut und die Grundlagen von javascript. Ich weiß, wie man schreiben regex aber nicht, wie das mit dem javascript-syntax von regex und welche Funktionen zu verwenden.
Hier ist was ich habe, so weit und es hat einen Fehler in Zeile 3: Finden Sie es auf jsfiddle(oder unten): http://jsfiddle.net/MadLittleMods/C93mD/
function addParameter(url, param, value) {
var pattern = new RegExp(param + '=(.*?);', 'gi');
return url.replace(pattern, param + '=' + value + ';');
alert(url);
}
Hinweis: sobald Sie die Seite ändern, die URL der browser navigieren Sie zu diesem Standort, so können Sie nur ändern, sobald.
Ich kann es ändern, so oft wie ich will. Ich bin der Bearbeitung eines elements href, nicht die Seite.
Ich kann es ändern, so oft wie ich will. Ich bin der Bearbeitung eines elements href, nicht die Seite.
InformationsquelleAutor MLM | 2011-10-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Keine Notwendigkeit für die Verwendung von jQuery. Reguläre Ausdrücke und string-Funktionen sind ausreichend. Siehe mein code auskommentiert unten:
Und hier ist die Geige
Update:
Den code behandelt nun den Fall, wo ein hash der URL.
Bearbeiten
Verpasst ein Fall! Der code überprüft, um zu sehen, ob es ein query-string an alle.
Aktualisiert und ergänzt eine read-Funktion, um diese Geige. Ich verwendet (;|&|$) anstatt der (&|$) -- jsfiddle.net/MadLittleMods/4Pz8h
Wie wäre es mit [\\?&] anstelle von (\\?|\\&)
nicht handhaben hash in url
Dieser code sieht aus wie ein großes Beispiel von, warum Sie sollte just shut up and jQuery verwenden. Bearbeitet unzählige Male wie werden neue Fehler zufällig gefunden, kostet wer weiß, wie viele Entwickler Stunden, und wir noch weiß gar nicht, ob es tatsächlich funktioniert. jQuery ist schwer, weil es bereits durch diesen Prozess. Alle yahoo kann "schreiben Sie eine Funktion schneller zu X", aber dann funktioniert es nicht, weil Sie lassen die Millionen Fällen Ecke, die verursachen bugs. Und wir sind noch nicht einmal reden über die Art und Weise, dass javascript selbst macht dies schwierig.
InformationsquelleAutor Ryan Kinal
Ich würde mit diese kleine, aber komplette Bibliothek zum verarbeiten von urls in js:
https://github.com/Mikhus/jsurl
InformationsquelleAutor Joao Leme
Sehen Ändern von URL-Parametern. Es beantwortet deine Frage, in einer mehr Allgemeinen Weise (änderung der url-parameter). Es gibt Lösungen für jQuery und regelmäßige js in den Antworten Abschnitt.
Es sieht auch wie
url.replace
solltelocation.replace
aber ich könnte falsch sein (diese Aussage basiert auf einer schnellen google-Suche für " url.ersetzen javascript').Siehe netlobo.com/url_query_string_javascript.html oder jquery-howto.blogspot.com/2009/09/....
Ich versuche nicht, die Werte gelesen, die ich bin versucht zu ändern/hinzufügen
InformationsquelleAutor jtfairbank
InformationsquelleAutor Mohamed.Abdo