需求:

h5页面有进无退

对禁止后退方法统一封装:

let XBack = {};XBack.STATE = 'x - back'
XBack.elementXBack.onPopState = function(event) {event.state === XBack.STATE && XBack.fire()XBack.record(XBack.STATE) //初始化事件时,push一下
}XBack.record = function(state) {console.log(state, location.href)/* pushState用于向history对象添加当前页面的记录,并且改变浏览器地址栏的URL; 即历史记录里加入新的url地址,浏览器地址栏也会变成新的相对URL */history.pushState(state, null, location.href)
}XBack.fire = function() {var event = document.createEvent('Events')/* initEvent参数(eventType: 事件类型, canBubble: 事件是否冒泡, cancelable: 是否可以用preventDefault()方法取消事件) */event.initEvent(XBack.STATE, false, false)/* initEvent方法将初始化 Document.createEvent() 方法创建的合成 Event 对象的 type 属性、bubbles 属性和 cancelable 属性。只有在新创建的 Event 对象被 Document 对象或 Element 对象的 dispatchEvent() 方法分派之前,才能调用 Event.initEvent() 方法。*/XBack.element.dispatchEvent(event)
}XBack.listen = function(listener) {XBack.element.addEventListener(XBack.STATE, listener, false)
}XBack.init = function() {XBack.element = document.createElement('span')// 手动监听popstate// history路由是popstate监听路由变化window.addEventListener('popstate', XBack.onPopState)XBack.record(XBack.STATE)
}XBack.remove = function(){window.removeEventListener('popstate', XBack.onPopState)
}export default XBack

页面内引用:

// import 引入XBack
mounted() {XBack.init()XBack.listen(() => {})
}// 可以在组件销毁是进行remove
destroyed() {XBack.remove()
}

H5禁止浏览器自带返回事件相关推荐

  1. 控制浏览器自带返回按钮

    需求背景 小程序权益详情页面跳转外部H5任务进度页面查看和领取权益. 遇到的问题 浏览器自带返回按钮无法返回之前的小程序页面或需要多次按返回按钮返回之前的小程序页面. 解决方案一(放弃) 原本考虑在页 ...

  2. vue.使用popstate监听点击浏览器自带返回按钮

    我写在了app.vue,大家可以按项目需要写在需要的位置 <script> export default {name: 'App',mounted(){// 监听返回事件,点击系统返回时i ...

  3. H5禁止手机自带键盘弹出

    这个问题,确实困扰了我好久,但是今天解决了.在网上搜索答案,全都是用DIV模拟input框实现,没有一个真正解决这个问题的,现在我只需要一句代码就可以完完整整的解决这个问题. 先看下问题吧: 这个是我 ...

  4. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  5. 监听浏览器的返回事件,禁止浏览器返回

    //禁止页面后退 history.pushState(null,null,document.URL); window.addEventListener('popstate',function(){// ...

  6. uniapp 如何禁止或监听默认返回事件

    页面生命周期有个 onBackPress 方法,可以监听返回事件 onBackPress(event) 返回 event ={form: backbutton | navigateBack} Andr ...

  7. H5手机移动端调起浏览器自带分享功能实例(QQ、UC浏览器微博、微信分享)

    H5手机移动端调起浏览器自带分享功能实例(QQ.UC浏览器微博.微信分享) 注:代码需要在服务器或测试服务器上方可看到效果 HTML: <span class="viewshare w ...

  8. H5手机页面调起浏览器自带分享功能实例(QQ、UC浏览器微博、微信分享)

    H5手机页面调起浏览器自带分享功能实例(QQ.UC浏览器微博.微信分享) HTML: <span class="viewshare wx" data-mshare=" ...

  9. html5 浏览器退回事件,html5的pushstate以及监听浏览器返回事件的实现

    这篇文章主要介绍了html5的pushstate以及监听浏览器返回事件的实现,主要介绍了pushstate的使用,以及监听浏览器的解决等问题,感兴趣的可以一起来了解一下 pushstate与监听浏览器 ...

最新文章

  1. python读取word
  2. nginx配合modsecurity实现WAF功能
  3. SAP 批量扩充会计和成本视图
  4. ubuntu nano的使用 nano的关闭快捷键
  5. 苹果出5g手机吗_华为打响5G手机第一枪,苹果却扔出620亿“王炸”,任正非:榜样...
  6. 深度学习(三)转-可视化理解卷积神经网络 直接查看卷积神经网络的过程特征...
  7. React开发(150):判断方法有避免报错
  8. 程序员从幼稚到成熟会经历哪些变化?你都知道吗?
  9. WPF 可触摸移动的ScrollViewer控件
  10. 【BZOJ4668】冷战 并查集
  11. 最暖的10个小故事,看完心都融化了
  12. js 内存引用计数_快速内存管理–自动引用计数
  13. java网络编程小结(黑马程序员基础java总结)
  14. Ubuntu安装划词翻译软件Goldendict 单词翻译 句子翻译
  15. SpiceWorks:企业接纳Windows 10的增速是Windows 7的两倍
  16. 7-27 冒泡法排序 (20分)
  17. 2021最新外卖霸王餐小程序、H5、微信公众号版外系统源码|霸王餐美团/饿了么系统 粉丝裂变玩源码下载
  18. 2021-09-29 每天几个LCEDA小知识——如何修改元器件标签位置
  19. python-(6)常用的字符判断和转换以及开头结尾匹配
  20. styled 手撸Switch开关

热门文章

  1. broadcom linux 博客,Broadcom SDK6.4.4驱动架构简单理解
  2. (数据分析)Python-matpoltlib库-绘制条形图
  3. 2021.11.14
  4. 抖音短视频怎么做?3大要点助你玩转抖音
  5. 小明一共看了多少朵不同的花儿
  6. 视频播放器是如何播放音视频的?
  7. iTunes备份文件路径正确修改方法(亲测可用,2018.10.19更新)
  8. iOS如何阻止“橡皮筋效果”?
  9. php intersect,php array_intersect()函数使用代码
  10. CSP/NOIP 复赛注意点