請問有沒有辦法可以用javascript 去監聽 瀏覽器的url 變化呢? 想實現的功能有 1阻止某些url 跳轉,在在黑名單上的。 2某些狀態下不能跳轉。例如載入某些ajax資源時不允許跳轉。
但一定要是全域的,項目已經形成,跳轉方式五花八門的有a 標籤的有window.location.href 的,有後端的...所以只能只取共通的,就是改變url 這個動作做回退,javascript 能實現嗎? 還是有什麼其他的方法實作
只有這個事件onbeforeunload,但是不能進行隨意控制試圖使用js來劫持用戶瀏覽器的行為終究是會失敗的,還是在伺服器端進行存取控制才是正道
如果是自己的項目.可以做個統一的跳轉方法(fn)....
StackOverflow答案
補充一樓的說法,onbeforeunload虽好,但只有PC端支持,不适用于移动端。单一维度来看,至多只能监听『页面是否注销』,无法监听『页面是否后退』;即使你使用了history.length属性,由于history.length只記錄總長度的特性,還是無法知曉頁面是往前走了還是往後走了。 至於行動端的前進和後退,純js無法實現,但可以藉助native來做到,請參考我這篇分析為什麼Web App的回傳邏輯如此複雜 | louis blog
onbeforeunload
history.length
只有這個事件onbeforeunload,但是不能進行隨意控制
試圖使用js來劫持用戶瀏覽器的行為終究是會失敗的,還是在伺服器端進行存取控制才是正道
如果是自己的項目.可以做個統一的跳轉方法(fn)....
StackOverflow答案
補充一樓的說法,
onbeforeunload
虽好,但只有PC端支持,不适用于移动端。单一维度来看,至多只能监听『页面是否注销』,无法监听『页面是否后退』;
即使你使用了
history.length
属性,由于history.length
只記錄總長度的特性,還是無法知曉頁面是往前走了還是往後走了。至於行動端的前進和後退,純js無法實現,但可以藉助native來做到,請參考我這篇分析為什麼Web App的回傳邏輯如此複雜 | louis blog