最近做web商城,遇到一个棘手的问题:

用户反映登录了商城之后,过一段时间就需要重新登录,频率很高,我们通过对该用户的访问记录进行检测,发现的确存在该问题。因为用户的信息是存在本地localStroage中的,系统触发的清除方式只有当用户的账号被异地登录用户主动退出,但是这种方式只会清理localStroage,不会清理sessionStroage以及有效期内的cookie

于是我们寻找外界因素,总结了一些导致用户信息丢失的原因

  1. 内存不足,微信被后台强制清理
  2. 软件深度清理数据
  3. 用户开启无痕浏览模式

最终发现该用户开启了无痕浏览模式,进而导致全部信息丢失。

判断用户是否开启无痕模式,并且提醒用户

/*** @description 判断浏览器的隐身(无痕)模式*/
export function browserIsHide () {let fs = window.RequestFileSystem || window.webkitRequestFileSystem;if (!fs) {console.log("check failed?");} else {fs(window.TEMPORARY,100,function(){console.log('非无痕模式')},function(){alert('您已开启无痕模式,为了不影响正常功能使用,请立即关闭!');});}
}/**以下方式判断错误,在无痕模式下,localStorage依旧可以使用*/
if(typeof localStorage === 'object'){try{localStorage.setItem('localStorage', 1);localStorage.removeItem('localStorage');}catch(e){Storage.prototype._setItem = Storage.prototype.setItem;Storage.prototype.setItem = function() {};alert("请关闭无痕模式!");};
};

js判断无痕浏览模式(修改)相关推荐

  1. Storge 在 Safari 的无痕浏览模式中的坑

    关于 Storge 在 Safari 的无痕浏览模式中的坑 前言 今天遇到了一个诡异的bug,一个网页在微信浏览器中是可以正常显示的,而在一些用户的 Safari 中却无法正常渲染.真是日了狗了!检查 ...

  2. php网页无痕预览,javascript,html5_如何应对用户使用无痕浏览模式,javascript,html5 - phpStudy...

    如何应对用户使用无痕浏览模式 在开发过程中,由于一些页面会使用localStorage,sessionStorage ,在无痕浏览模式,本地存储不能用,会出现很多问题,看到过一种解决方案 functi ...

  3. 无痕浏览会被保密局的查到吗_无痕浏览模式真的安全吗?在操作中不留下“蛛丝马迹”?你怎么看...

    2.不记录Cookies 3.不记录Internet临时文件 4.不记录网页表单数据(用户名.密码.搜索关键词等) 5.不记录历史访问记录 6.不记录撤销页面列表 无痕浏览模式能不能保护个人隐私呢? ...

  4. ios中safari无痕浏览模式下,localStorage的支持情况

    前言 前阶段,测试提了个bug,在苹果手机中无痕模式下,搜索按钮不好使,无法跳页,同时搜索历史也没有展示(用户搜索历史时使用localStorage存储). 正文 iOS上Sarfari在无痕模式下, ...

  5. chrome无痕浏览模式中使用插件

    前言 默认情况下,在使用google浏览器的时候,是无法使用插件的,如图本该是插件位置却没有 操作 那么该如何进行操作呢 打开右上角设置中的扩展程序,并点击 这个时候你会回到正常浏览模式,接下来找到你 ...

  6. Qt6.2.3 QWebEngineView 咋就默认无痕浏览模式了?

    最近项目从Qt5迁移到Qt6,有若干不兼容或者变动的地方,虽谈不上什么血泪史,但是一天内做了几十处的兼容性处理(好在项目不大),也是挺累人的. 本文重点说说QWebEngineView 咋就默认变成无 ...

  7. Live Server插件默认打开浏览器的无痕浏览模式解决方法

    很多人在VS code中装了Live Server这个插件,启动后是默认的无痕模式.这个模式下Chrome会把插件禁用.导致很多调试开发工具无法使用.比如VueDevtools. 解决方法(不听废话直 ...

  8. Chrome 插件:无痕浏览模式下加载插件、启用插件设置方法

    通过 chrome://extensions/ 进入 chrome 插件列表,进入插件的详细信息页. 在无痕模式下启用的开关勾选上. 然后就好了. 喜欢的点个赞❤吧!

  9. js判断当前浏览类型是谷歌 、火狐、IE

    /**** 获取当前浏览器类型*/ function myBrowser() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var ...

最新文章

  1. 《经济学人》:Facebook 的 Libra 项目预示着一场消费革命
  2. 【Java】ArrayList 列表的泛型
  3. 【MFC】1.Windows程序内部运行原理
  4. 解决ubuntu连不上网络,输入ifconfig只显示本地环回问题
  5. 启动“powershell.exe”时出现错误 0x8007000
  6. js(Dom+Bom)第二天(2)
  7. java 开发详解_面向接口编程详解-Java篇
  8. 网络编程基础概念-网络协议
  9. C#实现Base64编码与解码及编码名称和代码页(Encoding.GetEncoding)
  10. 正则表达式-grep命令
  11. nginx代理tomcat
  12. 电子元器件之电容如何测量
  13. 取石子问题--威佐夫博弈(Wythoff‘s game)
  14. 异常点检测算法(三)Replicator Neural Networks
  15. python的print函数用逗号分隔时输出不用空格_python print 按逗号或空格分隔的方法...
  16. 敲黑板,定积分也有换元和分部积分法!
  17. Hadoop之金庸江湖人物关系网分析
  18. 灌篮高手微信登录是什么服务器,灌篮高手手游应用宝版
  19. 数据结构 图(一)丛林中的路
  20. 密码学_SM4国密算法

热门文章

  1. 谈谈在大公司和小公司的区别
  2. go 语言helloword
  3. 手机上怎么将DWG转PDF?这个方法轻松解决
  4. 米兰对皇马,一场完全符合好莱坞式励志电影所有要素的娱乐大片
  5. 整数划分 --- 一个老生长谈的问题 动态规划
  6. 亚马逊直播,买家秀视频,主图视频,开箱视频都有什么作用?
  7. 面试笔试算法3-Oj刷题
  8. UE5引擎 PC端的Landscape渲染浅分析
  9. C语言单链表基本操作,非常全面
  10. 二选一选择器-verilog