簡體   English   中英

使用AngularJS / Javascript僅禁用瀏覽器后退按鈕導航(不鏈接應用程序中的鏈接)

[英]Disable Only Browser Back Button navigation(not links in app) with AngularJS/Javascript

我正在使用AngularJS開發SPA。 我想使用應用程序中的鏈接瀏覽應用程序狀態,並且當單擊后退按鈕時,我想阻止相同的導航。

當我也單擊應用程序中的鏈接時,我發現的所有解決方案(包括angularJs中的$ locationChangeStart)都無法導航。

請提供一種僅阻止瀏覽器后退按鈕導航並允許通過單擊應用程序中的鏈接進行導航的解決方案。

最簡單的方法是從當前應用程序狀態(url)到有效的下一應用程序狀態(urls)的轉換映射,並且僅當從$locationChangeStart stateChangeStart從當前狀態到所需狀態的轉換無效時才阻止Default 。

如果這樣處理,不僅會阻止用戶使用后退按鈕,而且還會在瀏覽器中放置不良網址,從而造成無效的應用程序狀態並可能損害您的應用程序。

我建議您不要在其他答案中使用鏈接中的“ on history change history.forward”方法,這是最糟糕的UX,使它對用戶透明。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM