Front-End – globale Javascript-Überwachung von Adress-URL-Änderungen
漂亮男人
漂亮男人 2017-05-19 10:38:49
0
4
681

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?

漂亮男人
漂亮男人

Antworte allen(4)
Peter_Zhu

只有这个事件onbeforeunload,但是不能进行随意控制
试图使用js来劫持用户浏览器的行为终究是会失败的,还是在服务器端进行访问控制才是正道

曾经蜡笔没有小新

如果是自己的项目.可以做个统一的跳转方法(fn)....


伊谢尔伦

StackOverflow答案

Peter_Zhu

补充一楼的说法,onbeforeunload虽好,但只有PC端支持,不适用于移动端。
单一维度来看,至多只能监听『页面是否注销』,无法监听『页面是否后退』;
即使你使用了history.length属性,由于history.length只记录总长度的特性,还是无法知晓页面是往前走了还是往后走了。
至于移动端的前进和后退,纯js无法实现,但可以借助native来做到,请参考我这篇分析为什么Web App的返回逻辑如此复杂 | louis blog

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage