美文网首页
oppo R9s手机获取sessionStorage,获取不到的

oppo R9s手机获取sessionStorage,获取不到的

作者: rain129 | 来源:发表于2018-05-18 14:46 被阅读30次

    问题描述:

    最近做一个移动端项目时,有个省市区选择的,是这样,省、市、区选择是3个列表页面,点选某个省份时候我会存一个sessionstorage,市和区也是一同样的操作,正常来说,省市区选择完后,我的sessionstorage中就有省市区的数据了,然后拿到数据后就去请求后端数据了,但是测试时候发现oppoR9s取到的数据都是null,这就有点扯了!

    解决方案:

    sessionstorage中也存着,url上面也把省市区的数据拼接上去,如果sessionstorage中拿不到就去url上取

    var new_province = getSession('new_province') || getQueryString('province');
    var new_county = getSession('new_district') || getQueryString('district');
    var new_city = getSession('new_city') || getQueryString('city');
    

    help.js

    //help.js
    
    //获取url参数
    function getQueryString = function (name, url) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var param;
        if (url == null) {
            param = window.location.search.substr(1).match(reg);
        } else {
            param = url.substr(1).match(reg);
        }
        if (param != null) {
            return decodeURI(param[2]);
        }
        return null;
    };
    
    //获取session缓存
    function getSession (key) {
        return sessionStorage.getItem(key);
    }
    
    

    结语:由于自己没有oppo手机,很不方便调试,所以具体为什么oppo在没有关闭浏览器情况下取不到缓存的问题只能靠猜测了,猜想oppo手机可能是跳转一次页面,sessionStorage就清空掉了,不是等浏览器关闭才清掉。

    相关文章

      网友评论

          本文标题:oppo R9s手机获取sessionStorage,获取不到的

          本文链接:https://www.haomeiwen.com/subject/gojgdftx.html