js判断无痕浏览模式(修改)
最近做web商城,遇到一个棘手的问题:
用户反映登录了商城之后,过一段时间就需要重新登录,频率很高,我们通过对该用户的访问记录进行检测,发现的确存在该问题。因为用户的信息是存在本地localStroage中的,系统触发的清除方式只有当用户的账号被异地登录、用户主动退出,但是这种方式只会清理localStroage,不会清理sessionStroage以及有效期内的cookie。
于是我们寻找外界因素,总结了一些导致用户信息丢失的原因:
- 内存不足,微信被后台强制清理
- 软件深度清理数据
- 用户开启无痕浏览模式
最终发现该用户开启了无痕浏览模式,进而导致全部信息丢失。
判断用户是否开启无痕模式,并且提醒用户:
/*** @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判断无痕浏览模式(修改)相关推荐
- Storge 在 Safari 的无痕浏览模式中的坑
关于 Storge 在 Safari 的无痕浏览模式中的坑 前言 今天遇到了一个诡异的bug,一个网页在微信浏览器中是可以正常显示的,而在一些用户的 Safari 中却无法正常渲染.真是日了狗了!检查 ...
- php网页无痕预览,javascript,html5_如何应对用户使用无痕浏览模式,javascript,html5 - phpStudy...
如何应对用户使用无痕浏览模式 在开发过程中,由于一些页面会使用localStorage,sessionStorage ,在无痕浏览模式,本地存储不能用,会出现很多问题,看到过一种解决方案 functi ...
- 无痕浏览会被保密局的查到吗_无痕浏览模式真的安全吗?在操作中不留下“蛛丝马迹”?你怎么看...
2.不记录Cookies 3.不记录Internet临时文件 4.不记录网页表单数据(用户名.密码.搜索关键词等) 5.不记录历史访问记录 6.不记录撤销页面列表 无痕浏览模式能不能保护个人隐私呢? ...
- ios中safari无痕浏览模式下,localStorage的支持情况
前言 前阶段,测试提了个bug,在苹果手机中无痕模式下,搜索按钮不好使,无法跳页,同时搜索历史也没有展示(用户搜索历史时使用localStorage存储). 正文 iOS上Sarfari在无痕模式下, ...
- chrome无痕浏览模式中使用插件
前言 默认情况下,在使用google浏览器的时候,是无法使用插件的,如图本该是插件位置却没有 操作 那么该如何进行操作呢 打开右上角设置中的扩展程序,并点击 这个时候你会回到正常浏览模式,接下来找到你 ...
- Qt6.2.3 QWebEngineView 咋就默认无痕浏览模式了?
最近项目从Qt5迁移到Qt6,有若干不兼容或者变动的地方,虽谈不上什么血泪史,但是一天内做了几十处的兼容性处理(好在项目不大),也是挺累人的. 本文重点说说QWebEngineView 咋就默认变成无 ...
- Live Server插件默认打开浏览器的无痕浏览模式解决方法
很多人在VS code中装了Live Server这个插件,启动后是默认的无痕模式.这个模式下Chrome会把插件禁用.导致很多调试开发工具无法使用.比如VueDevtools. 解决方法(不听废话直 ...
- Chrome 插件:无痕浏览模式下加载插件、启用插件设置方法
通过 chrome://extensions/ 进入 chrome 插件列表,进入插件的详细信息页. 在无痕模式下启用的开关勾选上. 然后就好了. 喜欢的点个赞❤吧!
- js判断当前浏览类型是谷歌 、火狐、IE
/**** 获取当前浏览器类型*/ function myBrowser() {var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串var ...
最新文章
- 《经济学人》:Facebook 的 Libra 项目预示着一场消费革命
- 【Java】ArrayList 列表的泛型
- 【MFC】1.Windows程序内部运行原理
- 解决ubuntu连不上网络,输入ifconfig只显示本地环回问题
- 启动“powershell.exe”时出现错误 0x8007000
- js(Dom+Bom)第二天(2)
- java 开发详解_面向接口编程详解-Java篇
- 网络编程基础概念-网络协议
- C#实现Base64编码与解码及编码名称和代码页(Encoding.GetEncoding)
- 正则表达式-grep命令
- nginx代理tomcat
- 电子元器件之电容如何测量
- 取石子问题--威佐夫博弈(Wythoff‘s game)
- 异常点检测算法(三)Replicator Neural Networks
- python的print函数用逗号分隔时输出不用空格_python print 按逗号或空格分隔的方法...
- 敲黑板,定积分也有换元和分部积分法!
- Hadoop之金庸江湖人物关系网分析
- 灌篮高手微信登录是什么服务器,灌篮高手手游应用宝版
- 数据结构 图(一)丛林中的路
- 密码学_SM4国密算法