suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Front-End – globale Javascript-Überwachung von Adress-URL-Änderungen

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?

漂亮男人漂亮男人2822 Tage vor702

Antworte allen(4)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-05-19 10:40:49

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

    Antwort
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:40:49

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


    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:40:49

    StackOverflow答案

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:40:49

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

    Antwort
    0
  • StornierenAntwort