每页LocalStorage而不是(子)域?

时间:2012-06-27 23:04:54

标签: javascript local-storage

localStorage是每个域/子域,但我需要每页存储和检索值。

有没有人有一个表达式从该位置删除域名,书签和查询字符串?然后我可以使用encodeURIComponent并在每个localStorage-key前加上这个值。

在这种情况下,我还需要对此表达式进行“反向”,以便仅为当前页面检索值。编辑我认为我不需要'反向'功能 - 它将是相同的表达。

如果我有上面的两个表达式,你会将这个(剥离的)位置用作单个键入,并将其中所需的所有值字符串化吗?这可能更好,因为我可以检查一次位置,以发现它是否有任何相应的localStorage。

1 个答案:

答案 0 :(得分:1)

我有一个为我生成一个键的函数,基于页面名称(从window.location获取)并附加了的内容,然后我将数据存储在localstorage中

function findPageName() {
    var path = window.location.pathname,
        s = path.split('/'),
        l = s.length,
        k = path.length,
        aux = 0;

    if (s[l - 1]) {
        return s[l - 1];
    } else if (l) { // l will always be a min of 2 (try '/'.split('/') )
        return s[l - 2];
    } else if (k == 0) {
        return '/'; //you likely want to replace this with another value
    } else {
        return s[1];
    }
}

function getKey(key) {
    return getPageName() + key;
}