Ich möchte ein Stück Javascript schreiben, das einen Parameter an die aktuelle URL anfügt und dann die Seite aktualisiert. Wie kann ich das tun?
javascript
jquery
refresh
Amateur
quelle
quelle
Antworten:
das sollte funktionieren (nicht getestet!)
quelle
Kürzer als die akzeptierte Antwort, das Gleiche tun, aber einfach halten:
Wir müssen nicht die gesamte URL ändern, sondern nur die Abfragezeichenfolge, die als Suchattribut des Standorts bezeichnet wird.
Wenn Sie dem Suchattribut einen Wert zuweisen, wird das Fragezeichen automatisch vom Browser eingefügt und die Seite neu geladen.
quelle
window.location.search = '?param=42';
Die meisten Antworten hier schlagen vor, dass man die Parameter an die URL anhängen sollte, etwa das folgende Snippet oder eine ähnliche Variante:
Dies wird in den meisten Fällen recht gut funktionieren.
jedoch
Das ist meiner Meinung nach nicht der richtige Weg, einen Parameter an eine URL anzuhängen.
Da der vorgeschlagene Ansatz nicht testet, ob der Parameter bereits in der URL festgelegt ist, kann es bei Nichtbeachtung zu einer sehr langen URL kommen, bei der derselbe Parameter mehrmals wiederholt wird. dh:
An diesem Punkt beginnen die Probleme. Der vorgeschlagene Ansatz könnte und wird nach mehreren Seitenaktualisierungen eine sehr lange URL erstellen, wodurch die URL ungültig wird. Folgen Sie diesem Link, um weitere Informationen zu langen URLs zu erhalten. Wie lang ist eine URL in verschiedenen Browsern maximal?
Dies ist mein vorgeschlagener Ansatz:
Mit dieser Funktion muss man nur Folgendes tun:
quelle
if(window.location.search.indexOf('¶m=') == -1) {window.location.search += '¶m=1';}
indexOf
könnte die Verwendung von nun zu unnötiger Komplexität des Codes führen.quelle
Mehr kompatible Version
quelle
Bitte überprüfen Sie den folgenden Code:
quelle
Eine kleine Fehlerbehebung für @ yeyos nachdenkliche Antwort oben.
Veränderung:
var parameters = parser.search.split(/\?|&/);
Zu:
var parameters = parser.search.split(/\?|&/);
quelle
Versuche dies
quelle
Ebenfalls:
Nur ein Liner von Shlomi kann in Lesezeichen verwendet werden
quelle