2

私のウェブサイトにはいくつかのセクションがあります。ビューアーがセクションを個別に展開/折りたたむことができるようにします。セクションは、javascript (jquery / zepto) で展開されます。(各セクションには、展開または折りたたむためのボタンがあります。)

閲覧者がリンクされたドキュメントを表示するためにページを離れ、ブラウザの戻るボタンで戻った場合、すべてのセクションが折りたたまれます。

セクションの状態を Cookie に保存できます。しかし、閲覧者が戻るボタンでページに戻ったときにCookieが読み取られないと思います...セクションの状態(展開/折りたたみ)を覚える方法はありますか?

4

1 に答える 1

5

HTML5 ローカル ストレージの使用を検討してください。まだすべてのブラウザーでサポートされているわけではありませんが、実装は非常に簡単です。

例えば:

var foo = localStorage.getItem("foo");
// ...
localStorage.setItem("content", item);

あなたの場合、その「セクション」が展開または折りたたまれるたびに、その「セクション」の localStorage のリストを更新する行を追加するだけです。

// Inside your function:
var state = // whether the 'section' is expanded or collapsed
localStorage.setItem( state, $(this).id() );

そして、ページが読み込まれると

$(section).each(function () { // 'section' should target all collapsible elements
    var expanded = localStorage.getItem( $(this).id() ); // be careful here - make sure it's parsed in the correct format
    if (expanded == 1) {
        $(this).expand(); // your expand function
    } else {
        $(this).collapse(); // your collapse function
    }
});

ここでそれについて読んでください

于 2013-05-12T15:16:11.837 に答える