前端 - javascript 全域監聽 位址 url 變化
漂亮男人
漂亮男人 2017-05-19 10:38:49
0
4
655

請問有沒有辦法可以用javascript 去監聽 瀏覽器的url 變化呢?
想實現的功能有
1阻止某些url 跳轉,在在黑名單上的。
2某些狀態下不能跳轉。例如載入某些ajax資源時不允許跳轉。

但一定要是全域的,項目已經形成,跳轉方式五花八門的
有a 標籤的有window.location.href 的,有後端的...
所以只能只取共通的,就是改變url 這個動作做回退,javascript 能實現嗎?
還是有什麼其他的方法實作

漂亮男人
漂亮男人

全部回覆(4)
Peter_Zhu

只有這個事件onbeforeunload,但是不能進行隨意控制
試圖使用js來劫持用戶瀏覽器的行為終究是會失敗的,還是在伺服器端進行存取控制才是正道

曾经蜡笔没有小新

如果是自己的項目.可以做個統一的跳轉方法(fn)....


伊谢尔伦

StackOverflow答案

Peter_Zhu

補充一樓的說法,onbeforeunload虽好,但只有PC端支持,不适用于移动端。
单一维度来看,至多只能监听『页面是否注销』,无法监听『页面是否后退』;
即使你使用了history.length属性,由于history.length只記錄總長度的特性,還是無法知曉頁面是往前走了還是往後走了。
至於行動端的前進和後退,純js無法實現,但可以藉助native來做到,請參考我這篇分析為什麼Web App的回傳邏輯如此複雜 | louis blog

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板