Odpowiedzi:
window.location.href = 'URL';
to standardowa implementacja zmiany lokalizacji bieżącego okna.
window.location.href
jest to pełna implementacja, ale window.location
osiąga to samo. Zobacz docs.sun.com/source/816-6408-10/location.htm : „Jeśli przypiszesz ciąg znaków do location
właściwości obiektu, JavaScript tworzy location
obiekt i przypisuje ten ciąg do jego href
właściwości”.
window.location
ale to niekoniecznie oznacza: developer.mozilla.org/en/window.location .
window.location.href = 'URL';
a także window.location.assign('URL');
metodę, która jest przeznaczona do ponownego ładowania nowej strony. Więcej informacji można znaleźć w3schools.com/jsref/obj_location.asp
window.navigate
jest zastrzeżoną metodą, używaną przez Internet Explorera (jestem pewien, czy inne przeglądarki naśladują ją ze względu na kompatybilność, Chrome nie). document.location
lub window.location
są obiektami standardowymi (zobacz różne specyfikacje HTML / HTML5 / DOM). document.location = someURL
(lub window.location = someURL
) jest prawdopodobnie obsługiwany ze względu na starszy kod. Właściwy sposób to zrobić document.location.href = someURL
, a może document.location.assign(someURL)
.
window.navigate nie jest obsługiwane w niektórych przeglądarkach
W skrypcie java istnieje wiele sposobów przekierowania, zobacz poniższy kod i wyjaśnienie
window.location.href = "http://krishna.developerstips.com/";
window.location = "http://developerstips.com/";
window.location.replace("http://developerstips.com/");
window.location.assign("http://work.developerstips.com/");
window.location.href ładuje stronę z pamięci podręcznej przeglądarki i nie zawsze wysyła żądanie do serwera. Tak więc, jeśli masz starą wersję strony dostępną w pamięci podręcznej, przekieruje ona do niej zamiast ładowania nowej strony z serwera.
window.location. assign () na przekierowanie, jeśli chcesz zezwolić użytkownikowi na użycie przycisku Wstecz w celu powrotu do oryginalnego dokumentu.
window.location.replace () , jeśli chcesz przekierować do nowej strony i nie pozwolić użytkownikowi przejść do oryginalnej strony za pomocą przycisku Wstecz.
window.location
wpływa również na oprawę,
najlepsza forma jaką znalazłem to:
parent.window.location.href
A co gorsza:
parent.document.URL
Zrobiłem ogromny test przeglądarki i niektóre rzadkie IE z kilkoma wtyczkami stają się niezdefiniowane w drugiej formie.
window.location
wpłynie na docelową przeglądarkę. document.location wpłynie tylko na przeglądarkę i ramkę / iframe.
window.navigate
NIE jest obsługiwane w niektórych przeglądarkach, więc należy tego unikać. Każda z pozostałych metod wykorzystujących właściwość lokalizacji jest najbardziej niezawodnym i spójnym podejściem
Poszedłbym z window.location = "http://...";
. Od kilku lat koduję JavaScript dla różnych przeglądarek i nigdy nie spotkałem się z problemami przy stosowaniu tego podejścia.
window.navigate
i window.location.href
wydaje mi się trochę dziwne.
Naprawdę nie ma różnicy; jest na to około 5 różnych metod. Jednak te, które widzę najczęściej, są document.location
i window.location
dlatego, że są obsługiwane przez wszystkie główne przeglądarki. (Osobiście nigdy nie widziałem window.navigate
używanego w kodzie produkcyjnym, więc może nie ma bardzo dobrego wsparcia?)
wsparcie dla document.location
jest również dobre, chociaż jest to przestarzała metoda. Używam tej metody od jakiegoś czasu bez żadnych problemów. więcej informacji można znaleźć tutaj:
https://developer.mozilla.org/en-US/docs/Web/API/document.location
Możesz przenieść swoją stronę za pomocą
window.location.href =Url;