关于safiry开启无痕浏览时本地存储的处理
来源:互联网 发布:linux cpu 核数 编辑:程序博客网 时间:2024/05/22 04:59
在移动端做交互,我们经常会用到本地存储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; } } //存储Cookie var 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也是同样的思路。
阅读全文
0 0
- 关于safiry开启无痕浏览时本地存储的处理
- Chrome的无痕浏览实现初探
- 使用 HTML 5 开启移动 Web 应用程序的本地存储
- 基于h5的安卓app开启本地存储
- 关于本地存储的那些事
- 关于本地Apache开启多域名访问的操作方法
- 关于Rdlc报表无浏览打印 图片
- 本地存储 关于cookie
- 关于本地存储localForage
- 关于本地存储
- 关于本地存储localStorage
- 关于本地存储localStorage
- Storge 在 Safari 的无痕浏览模式中的坑
- 关于本地推送的使用处理UILocalNotification
- 开启 Android WebView 的安全浏览模式
- 开启Hive的本地模式
- 关于HTML5本地存储实例
- 关于加密:本地用户名与密码安全的存储方案
- redis 字典的实现
- 工作将近两年之当前心情
- Mac android studio 配置kotlin环境
- 实习生的监控算法: 利用机器学习方法进行曲线分类
- VCS-2 命令管理
- 关于safiry开启无痕浏览时本地存储的处理
- unity 中关于鼠标悬停 不同于之前写的文章版本 这个更加实用
- 设计模式
- 项目基本配置集合:BaseDialog,BaseActivity,TitleBar,沉浸式集合。
- n皇后
- Cron表达式与CronTrigger
- C# OpenFileDialog设置默认打开的文件路径
- SAP HANA里的单位转换
- mysql常用命令之数据库的增删查改