3

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

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

在这种情况下,我还需要对该表达式进行“反转”,以便仅检索当前页面的值。编辑我不认为我需要一个“反向”功能——它会是同一个表达式。

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

4

1 回答 1

2

我有一个函数可以根据页面名称(从 window.location 获取)为我生成一个密钥,并附加密钥本来的内容,然后我将数据存储在本地存储中。

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;
}
于 2012-06-27T23:08:17.550 回答