1191 Stimmen

Wie man den Browser dazu bringt, in JavaScript zu einer URL zu navigieren

Was ist der beste (korrekte, moderne, browserübergreifende, sichere) Weg, einen Webbrowser dazu zu bringen, mit JavaScript zu einer URL Ihrer Wahl zu navigieren?

4 Stimmen

Kein Duplikat. Die andere Frage bezieht sich auf die Weiterleitung.

1 Stimmen

Kein Duplikat, aber verwandt. Die andere Frage hat nicht diese prägnante Antwort, die die Lösung für mein Problem geklärt hat.

0 Stimmen

Achten Sie darauf, dass Sie das Präfix "http://" oder "https://" verwenden.

1918voto

Paolo Bergantino Punkte 465120

Dies funktioniert in allen Browsern:

window.location.href = '...';

Wenn Sie die Seite ändern möchten, ohne dass dies in der Browser-Historie angezeigt wird, können Sie dies tun:

window.location.replace('...');

48 Stimmen

使用する window.location = '...' ist ein Synonym für window.location.href = '...' - von Fenster.Standort API .

4 Stimmen

Wenn Sie vermeiden möchten, dass die gesamte Seite neu geladen wird (obwohl dies technisch gesehen nicht als Navigation gilt), sollten Sie sich history.pushState und history.replaceState ansehen.

4 Stimmen

Wenn Sie das Klicken auf einen Link simulieren wollen, verwenden Sie location.href Wenn Sie eine HTTP-Umleitung simulieren wollen, verwenden Sie location.replace Beachten Sie, dass location.replace behält die ursprüngliche Seite nicht im Sitzungsverlauf.

145voto

tilak Punkte 4241

Versuchen Sie dies:

  1. window.location.href = 'http://www.google.com';
  2. window.location.assign("http://www.w3schools.com");
  3. window.location = 'http://www.google.com';

Weitere Informationen finden Sie unter diesem Link: andere Möglichkeiten, die Seite mit JavaScript neu zu laden

116 Stimmen

Diese Antwort wäre hilfreicher, wenn sie den Unterschied zwischen den dreien erklären würde. Bitte beachten Sie auch den Abschnitt "Kontext für Links bereitstellen" unter stackoverflow.com/help/how-to-answer denn auch der Link liefert keine weiteren Informationen.

0 Stimmen

Wenn Sie TestCafe mit Node.js verwenden, können Sie das auch tun: await t.navigateTo('http://www.google.com');

1 Stimmen

location.assign hat in meinem Fall funktioniert, danke :)

64voto

Bogdan Punkte 1162

30 Stimmen

Gute Dokumentation, aber sie besagt, dass die Zuweisungsfunktion die aktuelle Adresse nicht in der Historie speichert, und das ist etwas, das man berücksichtigen sollte. Es gibt keinen richtigen oder falschen Weg, das hängt von den Bedürfnissen des Programmierers ab.

4 Stimmen

@OrBetzalel, ich glaube, die Zuweisungsfunktion speichert die aktuelle Adresse im Browserverlauf (obwohl das natürlich von Browser zu Browser unterschiedlich sein kann). Siehe Diskussion unter developer.mozilla.org/de-US/docs/Web/API/Location Dort heißt es, dass window.location.replace() speichert die aktuelle Adresse NICHT in der Historie, erwähnt aber auch nicht die window.location.assign() . In meinen eigenen Tests mit Chrome (aktuelle Mac-Version, Stand: Oktober 2019), window.location.assign() Dient dazu, die aktuelle Adresse im Browserverlauf zu speichern.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X