Wenn ich benutze:
alert(window.location.href);
Ich bekomme alles einschließlich Abfragezeichenfolgen. Gibt es eine Möglichkeit, nur den Haupt-URL-Teil abzurufen, zum Beispiel:
http://mysite.com/somedir/somefile/
anstatt
http://mysite.com/somedir/somefile/?foo=bar&loo=goo
javascript
Tyler
quelle
quelle
Antworten:
Dies ist möglich, aber Sie müssen es manuell aus dem
location
Objekt erstellen :quelle
'//' + location.host + location.pathname
http://www.example.com:8080/asdf.html?foo=bar
location.origin
denen meines Erachtens auch das Anliegen von @ izogfif angesprochen wird.Jede Antwort ist ziemlich verworren. Hier:
Auch wenn ein? ist nicht vorhanden, gibt es immer noch das erste Argument zurück, bei dem es sich um Ihre vollständige URL abzüglich der Abfragezeichenfolge handelt.
Es ist auch protokollunabhängig, was bedeutet, dass Sie es sogar für Dinge wie ftp, itunes.etc verwenden können.
quelle
window.location.href.split(/[?#]/)[0];
Verwenden
indexOf
quelle
quelle
url.split('?')[0]
Sie können einen regulären Ausdruck verwenden:
window.location.href.match(/^[^\#\?]+/)[0]
quelle
Sie können sich darauf konzentrieren,
origin
undpathname
wenn ein Port wie vorhanden vorhandenexample.com:80
ist, wird dieser ebenfalls enthalten sein.quelle
Wenn Sie sich die Dokumentation ansehen , können Sie nur die Eigenschaften, an denen Sie interessiert sind, aus dem
window
Objekt übernehmen, d. H.quelle