前端 - javascript 全局监听 地址 url 变化
漂亮男人
漂亮男人 2017-05-19 10:38:49
0
4
649

请问有没有办法可以用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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板