Cookie は、Web サイトによってユーザーのブラウザに保存される小さなデータです。これらは一般に、ユーザー設定の保存、セッションの追跡、またはリクエスト間の状態の維持に使用されます。
JavaScript は Cookie を作成、読み取り、削除するための簡単なメソッドを提供しており、クライアント側のストレージとセッション管理に不可欠なツールとなっています。
Cookie は、document.cookie に文字列を割り当てることによって作成されます。
document.cookie = "key=value; expires=DATE; path=PATH; domain=DOMAIN; secure; SameSite=VALUE";
document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/";
document.cookie プロパティは、現在のドメインとパスのすべての Cookie を単一の文字列として返します。
console.log(document.cookie); // Output: "username=JohnDoe; theme=dark; sessionId=abc123"
特定の Cookie を抽出するには、次の文字列を解析します。
function getCookie(name) { const cookies = document.cookie.split("; "); for (let cookie of cookies) { const [key, value] = cookie.split("="); if (key === name) return value; } return null; } console.log(getCookie("username")); // Output: JohnDoe
Cookie を更新するには、同じキーで異なる値またはオプションを使用して再度設定します。
document.cookie = "username=JaneDoe; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/"; console.log(document.cookie); // Output: "username=JaneDoe; ..."
Cookie を削除するには、その有効期限を過去の日付に設定します。
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
Cookie 値内の特殊文字は、encodeURIComponent を使用してエンコードし、decodeURIComponent を使用してデコードする必要があります。
document.cookie = "userInfo=" + encodeURIComponent("John Doe & Admin"); console.log(decodeURIComponent(getCookie("userInfo"))); // Output: John Doe & Admin
document.cookie = "sessionId=abc123; secure";
HTTPOnly Cookies:
同じサイト属性:
document.cookie = "key=value; expires=DATE; path=PATH; domain=DOMAIN; secure; SameSite=VALUE";
Attribute | Description |
---|---|
expires | Expiration date for the cookie. |
path | Limits cookie to specific paths. |
domain | Specifies the domain for the cookie. |
secure | Ensures cookie is sent over HTTPS. |
SameSite | Controls cross-site cookie behavior. |
Cookie の管理を容易にするために、一般的な操作をユーティリティ関数にカプセル化します。
document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2024 23:59:59 GMT; path=/";
Cookie は、Web アプリケーションの状態を維持するための基本的なツールです。適切に取り扱うことで、ユーザー データを保護しながら機能が確保されます。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がJavaScript の Cookie に関する包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。