您现在的位置是:首页 > 文章详情

[html]history禁用浏览器的后退功能(包括其他操作后退的按钮,操作等)

日期:2018-08-21点击:487

前端在编写代码的时候可能会使用到禁用浏览器的后退功能,为使后退功能更加的完善,所以需要禁用掉很多的其他操作,比如键盘的按钮,组合快捷键等等。
这里是一段关于js完全禁用浏览器后退的功能。

<script language="javascript"> //防止页面后退 history.pushState(null, null, document.URL); window.addEventListener('popstate', function () { history.pushState(null, null, document.URL); }); </script>

在一般的html中使用这个功能时,对整个页面都会启用禁用的功能;
在vue等的spa项目中使用,你可以在统一的地方进行及时的后退功能的禁用。那么,我们应该这样描述:

export function disableHistory (url) { //防止页面后退 history.pushState(null, null, url); window.addEventListener('popstate', function () { history.pushState(null, null, url); }) }

同时我们在进入某个页面的时候就可以去执行这个函数:

import { disableHistory } from ‘./disableHistory’ export default { beforeCreate () { disableHistory(document.URL) }, // ... }

虽然我们不能直接一起禁用掉我们想禁用的所有页面,但是我们的页面显示也是互斥的,即一个浏览器tab不能一次显示多个页面,只能含有一个url。只要我们在想禁用的页面显示之前或者用户操作后退之前禁用掉即可。

当然你也可以使用这个函数来实现更改url但页面不进行刷新的操作!

原文链接:https://yq.aliyun.com/articles/626809
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章