4

次のコマンドでこれを行っているjavascriptでCookieを設定する必要があります。

document.cookie = name+"="+value;

私の問題は、value任意のUnicode文字を含むことができる文字列であるということです。

特殊文字(など)を自動的に置き換える機能はあります;か?そうでない場合、どの文字が禁止されていますか?

「encodeURIComponent()」のようなもの-Get-Parametersの関数は完璧でしょう

4

2 に答える 2

4

を使用する必要がありますwindow.escape

escape()メソッドは、特殊文字(通常のテキストまたは数字ではない文字)を16進文字に変換します。これは、Cookieの値を設定するために特に必要です。GETリクエストまたはAJAXGET/POSTリクエストのURLでname=valueのペアを渡すときにも役立ちます。

対応するものもありwindow.unescapeます。

更新 によるユニコード文字の消費にそれほど苦しむことのないように、エスケープする前にbase64エンコーディング/デコーディング を使用することは理にかなっているかもしれませんwindow.encode

于 2012-06-27T17:23:38.050 に答える
1

堅牢なCookieライブラリを使用してCookieを処理してみませんか?

$.cookie('key', value, { expires: 365 });

ブラウザはCookieを4kBに制限します。クライアントに4kBを超える容量を保存する必要がある場合は、ローカルストレージを使用する必要があります。

于 2012-06-27T17:22:54.433 に答える