Gibt es eine Möglichkeit, mit Javascript Browser-URL-Änderungen zu überwachen?
Die Funktionen, die ich implementieren möchte, sind
1. Blockieren Sie das Springen bestimmter URLs, die auf der Blacklist stehen.
2 In einigen Staaten kann nicht gesprungen werden. Beispielsweise ist das Springen beim Laden bestimmter Ajax-Ressourcen nicht zulässig.
Aber es muss global sein. Es gibt verschiedene Sprungmethoden
Einige haben ein Tag, einige haben window.location.href, einige haben ein Backend ...
Wir können also nur die gemeinsame verwenden um die URL zu ändern. Kann ein Rollback mit JavaScript implementiert werden?
Gibt es einen anderen Weg, dies zu erreichen?
只有这个事件onbeforeunload,但是不能进行随意控制
试图使用js来劫持用户浏览器的行为终究是会失败的,还是在服务器端进行访问控制才是正道
如果是自己的项目.可以做个统一的跳转方法(fn)....
StackOverflow答案
补充一楼的说法,
onbeforeunload
虽好,但只有PC端支持,不适用于移动端。单一维度来看,至多只能监听『页面是否注销』,无法监听『页面是否后退』;
即使你使用了
history.length
属性,由于history.length
只记录总长度的特性,还是无法知晓页面是往前走了还是往后走了。至于移动端的前进和后退,纯js无法实现,但可以借助native来做到,请参考我这篇分析为什么Web App的返回逻辑如此复杂 | louis blog