请问有没有办法可以用javascript 去监听 浏览器的url 变化呢?
想实现的功能有
1阻止某些url 跳转,在在黑名单上的。
2某些状态下不能跳转。例如加载某些ajax资源时不允许跳转。
但一定要是全局的,项目已经形成,跳转方式五花八门的
有 a 标签的 有 window.location.href 的,有后端的...
所以只能只能取共通的,就是改变 url 这个动作做回退,javascript 能实现吗?
还是有什么其他的方法实现
请问有没有办法可以用javascript 去监听 浏览器的url 变化呢?
想实现的功能有
1阻止某些url 跳转,在在黑名单上的。
2某些状态下不能跳转。例如加载某些ajax资源时不允许跳转。
但一定要是全局的,项目已经形成,跳转方式五花八门的
有 a 标签的 有 window.location.href 的,有后端的...
所以只能只能取共通的,就是改变 url 这个动作做回退,javascript 能实现吗?
还是有什么其他的方法实现
补充一楼的说法,onbeforeunload
虽好,但只有PC端支持,不适用于移动端。
单一维度来看,至多只能监听『页面是否注销』,无法监听『页面是否后退』;
即使你使用了history.length
属性,由于history.length
只记录总长度的特性,还是无法知晓页面是往前走了还是往后走了。
至于移动端的前进和后退,纯js无法实现,但可以借助native来做到,请参考我这篇分析为什么Web App的返回逻辑如此复杂 | louis blog
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
只有这个事件onbeforeunload,但是不能进行随意控制
试图使用js来劫持用户浏览器的行为终究是会失败的,还是在服务器端进行访问控制才是正道