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

2018-05-18  本文已影响30人  rain129

问题描述:

最近做一个移动端项目时,有个省市区选择的,是这样,省、市、区选择是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就清空掉了,不是等浏览器关闭才清掉。

上一篇下一篇

猜你喜欢

热点阅读