「Values型」クッキーと「Key=Value」型クッキー

クッキーの使い方の代表的なものの比較である。

Values型クッキー

長所は、スクリプトが簡明になることである。「1つのクッキーに複数の状態変数を格納する」必要性がないスクリプトに適する。
短所は、同一フォルダ内にある他のファイルからクッキーを使うことができないことである。クッキーという希少資源の有効活用という点からみれば、これを本来的に使うことはできない。

値だけが区切り記号(この場合は「~」)をはさんで羅列されている。




edit/edt/ed4の中にjvs_kabu(株価情報)とjvs_month(月刊予定)を置いてクッキーの読み書きをする。一方は株価データ(数値)であり、他方は予定表データ(文字列)である。ここで「document.cookie」を読み書きすると、最後に書き込みをしたデータに置き換わって、それがこの両方のファイルで共用されることになる。たとえば、jvs_kabu(株価情報)に「郵便局に行く」やjvs_month(月刊予定)に「3450」などが出てくることになる。

考えて見れば、JavaScriptのクッキーを使った場合、すべて読み書きは「document.cookie」を対象にしている。この場合、どこで「株価」か「予定」かを区別をしているのかといえば、その*.htmlファイルが置かれているディレクトリ名(フォルダ)名である。一つのディレクトリにクッキーを読み書きする複数個の*.htmlファイルを置くと、すべて同じクッキーを読み書きしてしまうということである。

したがって、スクリプトを変更せずにこの問題に対処するには、どちらか一方を別のディレクトリに移動すればよいことになる。たとえば、jvs_kabu(株価情報)はedit/toolに移動すれば正常に動作する。この方式でいく限り、同一のディレクトリ内でクッキーの読み書きをするファイルは1つに限るということになる。

逆にいえば、これを「VALUE」の羅列ではなく「KEY=VALUE」形式にしていれば、「1つのクッキーに複数の状態変数を格納する」ことができて、別にディレクトリを移動させる必要もなくなることになる。この使い分けはケースバスケースでいくしかないだろう。


Valuse型クッキーの使用例(js_12)
変則的なクッキーの読み書き削除


Key=Value型クッキー

クッキーの標準的なパターンである。キーの先頭に「#」を付加しているがこれはなくてもよい。



WriteCookie
クッキーファイルにクッキーを設定する。
[Key:]にキーを書く。たとえば「Matukaze」など。
[Value:]に設定する値を書く。たとえば「松風理咲」など。
「WriteCookie」ボタンを押せばこのキーと値のペアがクッキーの一つとして設定される。
以下、同様にして他のキーと値を設定していくことができる。

ReadCookie
設定したクッキーをクッキーファイルから読み出す。
[Key:]にキーを書く。たとえば「Shinozaki」など。
「ReadCookie」ボタンを押せばこのキーに対する値が[Value:]に表示される。たとえば「篠崎愛」が表示される。

ClearTextBox
クッキーの設定、表示、削除にテキストボックスを使っている。
それを実行する前にテキストボックスをクリアしておく必要がある。

DeleteCookie
不要なクッキー、設定を間違ったクッキーを削除する。
[Key:]に削除するキーを書く。たとえば「Matukaze」など。
「DeleteCookie」ボタンを押せばこのキーと値のペアがクッキーファイルから削除される。


本来的なクッキーの読み書き削除(js_0033)

- 2018/12/06 -