1

UI の状態をハッシュ フラグメントに保存する必要があるため、次の 2 つの方法を試しました。

1- クエリ文字列形式のハッシュ フラグメント

#a=foo&b=bar

カスタム関数で値を取得します。

getParam: function (parameter) {
    if(document.location.hash !== "") {
        var param = document.location.hash.substring(1).split("&");
        for(var i in param) {
            var keyValue = param[i].split('=');
            if(keyValue.length === 2 && keyValue[0] === parameter) {
                return $.trim(keyValue[1]);
            }
        }
    }
    return null;
}

2-json オブジェクトを含むハッシュ フラグメント

#{"a":"foo","b":"bar"}

そして、オブジェクトを取得します

$.parseJSON(document.location.hash.substring(1))

最良の方法は何ですか?ハッシュ フラグメント形式に特定の規則はありますか?

4

1 に答える 1

2

ベスト プラクティスは、フラグメント ID をそのままにしておくことです。history APIを使用して、実際のクエリ文字列を変更します。

次に、ページが最初から要求されたときに、サーバー上で完全に構築します。

これ:

  • 基本ページをロードしてから、その大部分を Ajax データにすぐに置き換える必要がなくなります (履歴 API に移行するまで、Twitter Web アプリは使いづらくなってしまいました)。
  • リンクを検索エンジンやその他の非 JS クライアントにとって使いやすいものにします
于 2013-03-28T10:51:28.260 に答える