JavaScriptからのCookieを使用する

みなさんこんにちは!

今日は、まだトピックに参加していない人、JSのCookieを操作する方法の理論を共有したいと思います

JSは、Cookieを操作するための便利なAPIを提供しません。 そして、これは原則として悪いことではなく、悪化する可能性があります(たとえば、jsはcookieをまったく使用しないことに気付かないでしょう)が、それでも、1つの命令を使用してcookieを読み取ることができる場合(これはネイティブjsでは不可能です)。

この欠点を補う多くのフレームワークとプラグインがあります。 ただし、Cookieを使用するためだけにフレームワークを接続することは実用的ではないプロジェクトがあります。

実際、次のような美しいアクセサを使用して、Cookieを管理するメソッドを作成するタスクを設定および実装しました。

cookie.set('bla', 'blabla');
cookie.get('bla');


code.google.com/p/jscookie-Googleコードページ

Cookieを操作するためにjsが提供するメカニズムに関する理論のビット:

持っているのはdocument.cookieプロパティだけで、document.cookie.get( 'bla')など、通常のプログラマに共通のメソッドは実装していません。

クッキーを読む


document.cookieには、cookie_name = cookie_value値のセットが含まれています。 (「;」(セミコロンとスペース)で区切られます)、特定のCookieの値を取得するには、行全体を解析して必要なデータを取り出す必要があります。 注目すべきことは、このプロパティにはname = valueのペアが含まれ、有効期限、パス、ドメイン、セキュリティなどのCookieに関する追加データが含まれていないことです。

Cookieの作成/更新


document.cookieは文字列のように動作しますが、普通ではありません。 2つのクッキーkey1 = val1とkey2 = val2があると想像してください。

alert(document.cookie) //key1=val1; key2=val2;

新しいcookie key3 = val3を追加するには

document.cookie= 'key3=val3; ';
alert(document.cookie) //key1=val1; key2=val2; key3=val3;

Cookieを更新するには、key2をhello worldに設定します

document.cookie= 'key2=hello world; ';
alert(document.cookie) //key1=val1; key2=hello world; key3=val3;

クッキーの削除


ここで、Cookieについて少し説明します。このトピックについて徹底的に知識を持っているふりをするのではなく、私が知っていることを少しお話しします。

クックは、その名前と意味に加えて、その武器庫にいくつかのより重要な特性を持っています。

expires-Cookieが削除されるまでの時間。
domain-Cookieが有効なドメイン。大まかに言って、cookieがjs.comドメインで作成された場合、他のドメインでは表示されません。
パス-要求されると、ブラウザはCookieを送信する多くのドキュメント
セキュア-Cookieをhttps接続でのみブラウザに送信できるようにするフラグプロパティ

一般的に、これはすべてdocument.cookie = 'key4 = val4; [expires = Sat、09 Jan 2010 16:14:53 GMT; ] [パス= /; ] [ドメイン= js.com; ] [セキュア; ]

Cookieを削除するコツは、過去を指すexpiresプロパティでCookieを更新することです。例えば:

document.cookie= 'key2=; expires=Mon, 05 Jul 1982 16:37:55 GMT; ';
alert(document.cookie)//key1=val1; key3=val3;

実際にすべて

UPD:これは私の最初の投稿です。あまりキックしないでください。 誰かが役に立つことを願っています

Source: https://habr.com/ru/post/J74217/


All Articles