• Safari无痕模式是不能只使用localStorage存储数据要用Cookie做补丁


    safari 无痕浏览情况测试(部分手机)
     
    1.测试机型
      iPhone7 Plus  版本 11.3
      iPhone6 Plus  版本 11.3.1
      iPhone6     版本 10.2.1
      iPhoneSE        版本 9
      oppe r9
    2.测试浏览器
      Sarfari    UC    自带浏览器
     
    3.结果:
      iOS9,iOS10    Sarfari
        setItem 报错
        getItem null
      iOS 11    Sarfari
        setItem  可set
        getItem  可get
      iOS 11    UC
        setItem  不可set,但不报错
        getItem  null
      安卓机
        可set,可get
     
    4.结论:
      只有iOS9、10还存在无痕浏览下localStorage无法使用的情况,iOS11中Sarfari已支持存取localStorage,但是iOS11中UC不支持存localStorage。
    所以,在开发过程中使用loaclStorage就需要对以上情况进行兼容,避免 js 报错后影响整个页面的功能。
     
     
    --------------骚气分割线----------------
     
    Safari无痕模式是不能使用localStorage的,要使用cookie做补丁
    可以利用这个特性判断用户是否开启无痕模式,并提醒用户关闭无痕模式
     
    if(typeof localStorage === 'object'){
        try{
            localStorage.setItem('localStorage', 1);
            localStorage.removeItem('localStorage');
        }catch(e){
            alert("请关闭无痕模式!");
        };
    };
    --------------骚气分割线----------------
     
     
    补: 判断浏览器支持 localStorage 
    //判断浏览是否支持localStorage
    function isLocalStorageSupport{
        try {
            var isSupport = ‘localStorage‘ in window && window[‘localStorage‘] !== null;
            if (isSupport) {
            localStorage.setItem("local_storage_test", "1");
            localStorage.removeItem("local_storage_test");
            }
            return isSupport;
        } catch (e) {
            return false;
        }
    }

    参考一:原文作者:金大光 | 来源:CSDN | 传送门

    参考二:原文作者:Hi娜娜 | 来源:  博客园 | 传送门

  • 相关阅读:
    java获取指定日期的前一天和后一天
    Swagger注解-@ApiModel 和 @ApiModelProperty
    Timer中schedule()的用法
    Spring Boot 增加jar包
    报Result Maps collection does not contain value for java.lang.Long错误解决方法
    服务注册组件eureka
    浅谈redission以及Redis分布式锁探索入门
    用Redis实现分布式锁以及redission使用
    JVM逃逸分析对性能的影响
    【HTML打印】HTML直接调用window下的打印机并执行打印任务(简单打印任务生成)
  • 原文地址:https://www.cnblogs.com/xiaomaotao/p/10255950.html
Copyright © 2020-2023  润新知