Potrzebuję sposobu dołączenia wstępnego przetwarzania do każdego przypisania window.location. Czy istnieje sposób, aby to zrobić. Zasadniczo muszę serializować niektóre informacje, które będą używane w nowej lokalizacji.Javascript: Jak przechwycić zmianę window.location
Odpowiedz
można użyć zdarzenia beforeunload
wyzwolić swój kod do uruchomienia przed nawigacji ... Jeśli potrzebujesz czegoś bardziej konkretnego (np tylko nawigacje zainicjowany w kod), przy czym ■ Zalecam, abyście zmienili kod window.location
na osobną funkcję i dodali podpięcie dla niestandardowej logiki.
Możesz zajrzeć do postu Ben Nadel w odniesieniu do robienia tego, że może być dokładnie to, czego szukasz
Binding Events to non DOM objects with jQuery
Jego przykład w rozmowach post o tworzeniu programu obsługi zdarzeń, które wyzwala zdarzenie change gdy window.location
zmienia
W efekcie rozwiązanie wydaje się "setInterval" i sprawdzać okresowo. –
- 1. Jak dodać target = "_ blank" do JavaScript window.location?
- 2. Jak przesłonić zdarzenie błędu window.location?
- 3. javascript jak zmienić nazwę ścieżki właściwości window.location i przekierować
- 4. javascript window.location iframe, spraw, aby okno nadrzędne wyświetliło lokalizację
- 5. Set window.location z maszynopis
- 6. window.location nie działa w przeglądarce Chrome
- 7. Zmiana prototypu window.location, aby wyłączyć niektóre przekierowania?
- 8. Jak przechwycić część kwoty
- 9. Użycie window.location nie działa na iPadzie
- 10. Jak zaimplementować zmianę podzestawu dla metod S4
- 11. Jak przechwycić sygnał w QML?
- 12. express.js - jak przechwycić response.send()/response.json()
- 13. Jak przechwycić node.js wyraźne życzenie
- 14. Jak przechwycić dziennik uruchamiania Tomcat
- 15. jak przechwycić traceback w geenie
- 16. Jak przechwycić wywołania metody instancji?
- 17. Jak przechwycić wszystkie zdarzenia dotyku?
- 18. Jak przechwycić odświeżenie strony? - ASP.NET
- 19. Jak utworzyć łącze div otworzyć w nowej karcie JavaScript onClick = "window.location
- 20. Jak przechwycić zdarzenie onbeforeunload w formancie WebBrowser?
- 21. Jak wyzwalać zmianę adresu URL w jQuery?
- 22. Wykryj zmianę wartości mieszania adresu URL przy użyciu JavaScript
- 23. zmianę klasy z <span> elementu z JavaScript
- 24. setTimeout i window.location (location.href) nie działa
- 25. window.location() nie działa, nie otwierając stronę
- 26. Jak wyłączyć zmianę rozmiaru textarea?
- 27. Jak zasubskrybować zmianę obserwowalnego pola
- 28. Git: Jak zastąpić zmianę lokalną?
- 29. Jak wykryć zmianę wyboru CListCtrl?
- 30. Jak zaobserwować zmianę contentprovider? android
Czy to działa dla aplikacji z jedną stroną? W Angular i innych frameworkach SPA adres URL zmienia się, ale strona nie rozładowuje/nie ładuje, więc zastanawiam się, czy to zdarzenie się uruchomi. –
Ogólnie framework zapewnia zdarzenia niestandardowe, aby uzyskać zmiany lokalizacji – Nobita
@CarlG, w aplikacjach z jedną stroną, możesz użyć 'onhashchange', aby zarejestrować program obsługi, jeśli zmienił się skrót hasłowy adresu URL. – shuangwhywhy