Mam problem: chcę przekierować przez JavaScript do katalogu powyżej. Mój kod:
location.href = (location.href).substr(0, (location.href).lastIndexOf('folder'));
Adres URL wygląda następująco:
example.com/path/folder/index.php?file=abc&test=123&lol=cool
Przekierowanie wpływa tylko na to:
example.com/path/&test=123&lol=cool
Ale chcę mieć to:
example.com/path/
Jak mogłem to zrobić?
javascript
url
redirect
użytkownik199337
źródło
źródło
window.location.replace
stackoverflow.com/questions/503093/…window.location.href
. Powinieneś używać tylkowindow.location.replace
wtedy, gdy chcesz symulować przekierowanie http (nie generując elementu historii).document.location
miał być przeznaczony tylko do odczytu. Jest bezpieczniejszy w użyciuwindow.location
. Zobacz to pytanie .window.location.href = '../'
przekierowanie do katalogu głównego witryny, a nie „jeden poziom wyżej”, zgodnie z oczekiwaniami. Gdy bieżąca strona to „www.example.com/customers/list”, musiałem użyć'./'
. Chyba dlatego, że „lista” nie jest uważana za poziom katalogu.Jeśli skorzystasz
location.hostname
, dostaniesz swoją domenę.com. Następnielocation.pathname
poda ci / path / folder. Podzielęlocation.pathname
według / i ponownie złożę adres URL. Ale jeśli nie potrzebujesz kwerendy, możesz po prostu przekierować do..
katalogu powyżej.źródło
przekierować do
../
źródło
https://developer.mozilla.org/en-US/docs/Web/API/Location/assign
window.location.assign("../");
// jeden poziom wyżejwindow.location.assign("/path");
// względem domenyźródło
<a href="..">no JS needed</a>
..
oznacza katalog nadrzędny.źródło
Próbuję przekierować moją bieżącą stronę internetową do innej sekcji na tej samej stronie, używając JavaScript. Poniższy kod działa dla mnie:
źródło
spróbuj wykonać kod js
źródło