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

简介: 禁用浏览器后退功能

前端在编写代码的时候可能会使用到禁用浏览器的后退功能,为使后退功能更加的完善,所以需要禁用掉很多的其他操作,比如键盘的按钮,组合快捷键等等。
这里是一段关于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但页面不进行刷新的操作!

相关文章
|
1月前
|
移动开发 前端开发 JavaScript
编程笔记 html5&css&js 005 网页上都有哪内容、形式和操作
编程笔记 html5&css&js 005 网页上都有哪内容、形式和操作
|
3月前
|
Go
cypress里浏览器里的相关操作有哪些?
cypress里浏览器里的相关操作有哪些?
|
3月前
|
存储 算法 Java
8.栈实现浏览器的前进后退
8.栈实现浏览器的前进后退
43 4
|
3月前
|
前端开发 JavaScript
如何固定html表格头部,用css样式即可实现,操作简便、代码简单
如何固定html表格头部,用css样式即可实现,操作简便、代码简单
29 0
|
4月前
|
JavaScript 前端开发
JavaScript DOM 操作:如何选中一个 HTML 元素?有哪些方法?
JavaScript DOM 操作:如何选中一个 HTML 元素?有哪些方法?
65 1
|
20天前
|
Java 测试技术 数据库
基于SpringBoot+HTML实现登录注册功能模块
基于SpringBoot+HTML实现登录注册功能模块
|
8天前
|
JavaScript 前端开发 安全
JavaScript DOM 操作:解释一下浏览器的同源策略。
**同源策略**是浏览器安全基石,它阻止脚本跨不同协议、域名或端口访问资源,防止恶意行为。例如,HTTP页面无法直接用JS获取HTTPS页面内容。**CORS**允许跨域请求,但需服务器配合设置,通过`document.domain`属性可配置,但仍受限于服务器配置。
11 4
|
15天前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
15天前
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
|
16天前
|
搜索推荐 前端开发 UED
html页面实现自动适应手机浏览器(一行代码搞定)
html页面实现自动适应手机浏览器(一行代码搞定)
18 0

热门文章

最新文章