• JSON.parse()在火狐中的BUG


     

      

    //用sessionStorage解决load页面刷新问题
    {
        //sessionStorage.removeItem("loadInfo");
        var loadInfo=decodeURI(sessionStorage.getItem('loadInfo')) ;  //兼容firefox
        loadInfo=eval("(" + loadInfo + ")"); //转化成数组
        console.log(loadInfo);
        if(loadInfo!=null){
    
            var prevDiv=$(".leftSidebar>div").eq(loadInfo[0]);
            var desDiv=prevDiv.next().find("div").eq(loadInfo[1]);
            var txt=desDiv.text();
            if(txt=="预约报名" || txt=="售后服务" || txt=="我要晒家" || txt=="安全退出"){
                $("#trigger").trigger("click");
            }else{
                desDiv.trigger("click");
            }
        }else{
            $("#trigger").trigger("click");
        }
    
        var sidebarList=$(".leftSidebar");
        $(".listContain div").each(function(){
            $(this).click(function(){
                var $thisIndex=$(this).index();
                var $prevDivIndex=$(this).parent().prev().index();
                var arr=[$prevDivIndex,$thisIndex];
            //将刷新前的信息保存到sessionStorage
                sessionStorage.setItem('loadInfo',JSON.stringify(arr));//字符串化存入sessionStorage
            })
        })
    }
    

      

    火狐中保存:bugSyntaxError: JSON.parse: bad parsing

    console.log(JSON.parse(loadInfo))在火狐中会报错,是因为火狐浏览器默认给"进行encodeURI,只要进行decodeURI一下就可以了即console.log(JSON.parse(decodeURI(loadInfo)));

    上述代码完美兼容chrome/firefox/高版本ie

     
     
  • 相关阅读:
    单元测试之mock使用
    Linux命令 diff 命令(比较文件的差异)
    @ComponentScan自动扫描组件介绍
    AES 加解密 & RSA加解密
    vxetable结合ElementUI单元格样式
    uniapp打开新的网页页签
    input等通过样式禁用
    elementui 时间选择限制当天之前的时间不可选择
    符号位扩展
    函数指针数组的运用
  • 原文地址:https://www.cnblogs.com/yanxinhua/p/7262870.html
Copyright © 2020-2023  润新知