搜尋

首頁  >  問答  >  主體

javascript - 网页主要运行在微信浏览器环境下,网页之间的传值可否直接使用sessionStorage?

听人说在微信下会有一些传值出现问题

巴扎黑巴扎黑2816 天前1125

全部回覆(2)我來回復

  • 天蓬老师

    天蓬老师2017-04-11 11:28:20

    sessionStorage有生命周期(浏览器关闭时销毁).
    如果需要永久保存, 或者多次打开页面(或浏览器)时使用本地缓存
    建议使用localStorage
    存储.

    localStorage和sessionStorage操作
    localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等

    localStorage和sessionStorage的方法

    setItem存储value

    用途:将value存储到key字段
    用法:.setItem( key, value)
    代码示例:

    sessionStorage.setItem("key", "value");     localStorage.setItem("site", "js8.in");

    getItem获取value

    用途:获取指定key本地存储的值
    用法:.getItem(key)
    代码示例:

    var value = sessionStorage.getItem("key");     var site = > localStorage.getItem("site");

    removeItem删除key

    用途:删除指定key本地存储的值
    用法:.removeItem(key)
    代码示例:

    sessionStorage.removeItem("key");     localStorage.removeItem("site");

    clear清除所有的key/value

    用途:清除所有的key/value
    用法:.clear()
    代码示例:

    sessionStorage.clear();     localStorage.clear();

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-11 11:28:20

    自己封装了一个页面传值的方法,微信端一直都是这样用的;
    
    这个写个通用文件common.js
    function getstr(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if(r != null) return decodeURIComponent(r[2]);
        return null;
    }
    
    a.html
    window.location = 'detail_past.html?id=11&cid=传值';
    
    b.html
    alert(getstr("id")+getstr("cid"));
    

    回覆
    0
  • 取消回覆