2010-01-15 16 views

Odpowiedz

24

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.

+0

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. –

+0

Ogólnie framework zapewnia zdarzenia niestandardowe, aby uzyskać zmiany lokalizacji – Nobita

+1

@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

14

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

+7

W efekcie rozwiązanie wydaje się "setInterval" i sprawdzać okresowo. –

Powiązane problemy