关于safiry开启无痕浏览时本地存储的处理
在移动端做交互,我们经常会用到本地存储localstorage来存储变量。但是在safiry浏览器开启无痕浏览模式时,本地存储不管用了。那么是不是就不能行了呢。当然不是。除了localstorage和sessionStorage之后外,我们知道,可以使用cookie来存储。在safiry开启无痕浏览的时候,本地存储会抛异常,所以可以通过捕获异常来判断是否使用cookie存储。
var tracelesStorage=function(name, val){ if(arguments.length> 1){try{localStorage.setItem(name, val);}catch(e){setCookie(name,val,'d365');//抛出异常使用cookie存储}}else {var dataStr='';try{localStorage.setItem('cookieTest', 'test');//判断是否支持存储dataStr = localStorage.getItem(name);}catch(e){dataStr = getCookie(name)//同样抛出异常我们使用cookie去取值}return dataStr;}}
//下面是cookie存储的取值和存值
var getCookie=function(name)//取cookies值{var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");if(arr=document.cookie.match(reg)){if(!arr[2]){return null ;}else if(arr[2] !='null'){return unescape(arr[2]) ;}else{return null ;};}else{return null;}}//存储Cookievar setCookie=function(name, value, time){var strsec = getsec(time);var exp = new Date();exp.setTime(exp.getTime() + strsec * 1);document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString()+";path=/";}var getsec=function(str) {var str1 = str.substring(1, str.length) * 1;var str2 = str.substring(0, 1);if (str2 == "s") {return str1 * 1000;} else if (str2 == "h") {return str1 * 60 * 60 * 1000;} else if (str2 == "d") {return str1 * 24 * 60 * 60 * 1000;}}//如果要清除存储,同样抛异常的时候就需要清除cookie
var clearStorage=function(name){ // 清除存储if(!name) { return false;}try{localStorage.setItem('cookieTest', 'test');//正常清除localStorage.removeItem(name);}catch(e){document.cookie = name + "=" + null + ";expires=" + 0+";path=/";//抛出异常,存储到了cookie,因此清除cookie。}}
“`
如果用sessionStorage也是同样的思路。
关于safiry开启无痕浏览时本地存储的处理相关推荐
- ios safari 开启无痕浏览(隐私模式)报QuotaExceededError: DOM Exception 22异常解决办法...
// 检测safari是否开启无痕浏览 (function () {var testKey = 'test'var storage = window.sessionStoragetry {storag ...
- 移动端浏览器隐私模式/无痕模式使用本地存储localStorage/sessionStorage的问题
2019独角兽企业重金招聘Python工程师标准>>> 开发H5 webapp时经常需要使用本地存储,如localStorage和sessionStorage存储一些数据,相比最多能 ...
- 谷歌浏览器默认开启无痕浏览
在快捷方式的属性加上空格 再加上下面的代码 --incognito
- 浏览器无痕浏览还能查到记录吗,如何开启无痕模式
一些朋友对浏览器的无痕浏览比较好奇,是不是用这个无痕模式浏览网站,就能瞒天过海了?使用浏览器的无痕浏览还能查到记录吗?今天针对这些问题我们来聊一聊,如何开启无痕模式,浏览器无痕模式是否真的" ...
- 浏览器无痕模式有什么作用,手机浏览器开启无痕模式的方法
在我们的手机基本上都安装了浏览器,当我们在上网过程中,不想浏览记录被留下,那么开启无痕模式是非常有必要的.那么,浏览器的无痕模式有什么作用,手机浏览器如何开启无痕模式呢?下面教大家如何在手机浏览器中开 ...
- Safari无痕浏览影响localStorage
在移动端做交互,我们经常会用到本地存储localStorage来存储变量. if(window.localStorage){localStorage.setItem('key','value'); } ...
- Chrome的无痕浏览实现初探
一. 功能定义 首先要从功能上明确无痕浏览的作用和目的.涉及的功能包括: Bookmark, History (Input, Browse, Download, Forms/Auto complete ...
- js判断无痕浏览模式(修改)
最近做web商城,遇到一个棘手的问题: 用户反映登录了商城之后,过一段时间就需要重新登录,频率很高,我们通过对该用户的访问记录进行检测,发现的确存在该问题.因为用户的信息是存在本地localStroa ...
- 苹果电脑怎么无痕浏览网页
我们都知道苹果电脑macbook里的safari浏览器可以开启无痕浏览模式,用来保护自己的隐私,非常好用.那么苹果电脑怎么无痕浏览呢?请看小编的详细介绍吧! mac网页怎么开无痕浏览图文步骤: 1.打 ...
最新文章
- X5同层播放器应用实践
- typedef interrupt void (*PINT)(void)的分析
- POJ 3342 Party at Hali-Bula ——(树型DP)
- 运算符中的二元重载,为什么要调用友元函数而不是全局函数的问题
- # 模糊图片边缘_PS大神给你变个魔术,如何巧用PS把模糊的照片变清晰
- (转)c3p0配置大全
- Selenium IDE安装和检查获取的控件路径技巧
- Java:抽象类笔记
- ubuntu16.04安装微信
- java jtree 监听_Java JTree.addTreeExpansionListener方法代码示例
- Android上Sensor移植的总结
- [leetcode] 117. 填充同一层的兄弟节点 II
- java网站后台管理系统_java网站后台管理系统
- OpenCV——图像二值化
- H3C Comware V3 端口聚合
- 翻遍知乎1000多个高赞回答,我找到了这7本计算机圣经
- 【问题描述】打印2018年的日历
- matlab计算概率分布,Matlab中的离散概率分布计算
- 微软人工智能公开课.md
- C语言字符串分割 trimmed simplified split