3

localStorage はドメイン/サブドメインごとですが、ページごとに値を保存および取得する必要があります。

場所からドメイン、ブックマーク、およびクエリ文字列を削除する式を持っている人はいますか? 次に、encodeURIComponent を使用して、各 localStorage-key の先頭にこの値を追加します。

その場合、現在のページだけの値を取得するには、この式の「逆」も必要です。編集済み「逆」機能は必要ないと思います-同じ式になります。

上記の 2 つの式がある場合、この (削除された) 場所を単一のキー エントリとして使用し、その中のページに必要なすべての値を文字列化しますか? 場所を一度確認して、対応する localStorage があるかどうかを確認できるため、これが望ましい場合があります。

4

1 に答える 1

2

ページ名 (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;
}
于 2012-06-27T23:08:17.550 に答える