JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでCookieをすべて削除(クリア)する方法を解説

JavaScriptでCookieをすべてクリアするには、有効期限(expires)を過去の日時に設定して上書きするのが基本の方法です。ブラウザは有効期限が切れたCookieを自動的に削除するため、これにより実質的にCookieを消去できます。

Cookie削除の仕組み

JavaScriptでは document.cookie プロパティを使ってCookieを読み書きします。既存のCookieを削除したい場合は、同じ名前・パス・ドメインでCookieを再度書き込み、その際に有効期限を現在より前の日付に指定します。

サンプルコード

以下のコードは、入力された名前でCookieを設定し、1か月前の日時を有効期限として指定することで、Cookieを即座に無効化する例です。実際に動作を確認してみてください。

<html>
   <head>
      <script>
         <!--
            function WriteCookie() {
               var now = new Date();
               // 有効期限を1か月前(過去)に設定
               now.setMonth( now.getMonth() - 1 );
               cookievalue = escape(document.myform.customer.value) + ";"

               document.cookie="name=" + cookievalue;
               document.cookie = "expires=" + now.toUTCString() + ";"
               document.write("Setting Cookies : " + "name=" + cookievalue );
            }
         //-->
      </script>
   </head>
   <body>
      <form name="myform" action="">
         Enter name: <input type="text" name="customer"/>
         <input type="button" value="Set Cookie" onclick="WriteCookie()"/>
      </form>
   </body>
</html>

コードのポイント解説

  • now.setMonth(now.getMonth() - 1):現在日時から1か月前の日時を生成し、過去の有効期限を作ります。
  • now.toUTCString():Cookieのexpires属性に必要なUTC形式の文字列に変換します。
  • escape():日本語や記号なども安全に保存できるよう、値をエンコードしています(現在は encodeURIComponent() の使用が推奨されます)。

注意点

JavaScriptから削除できるのは、そのページと同じドメイン・パスで設定されたCookieのみです。HttpOnly 属性が付いたCookieはJavaScriptからアクセスできないため、削除できません。また、サイト全体のCookieをまとめて消したい場合は、document.cookie を読み取って各Cookie名を取得し、それぞれに対して有効期限を過去に設定した上書き処理をループで行う方法が一般的です。

  1. iPhoneでCookieを削除する方法【Safari・Chrome・Firefox・Edge対応】

    iPhoneに保存されたCookieを消したいけれど、設定の場所がわかりにくくて困っていませんか?実は手順さえ覚えてしまえば、とても短時間で簡単に削除できます。Safari、Firefox、Chrome、Opera Touch、Microsoft Edgeなど、どのブラウザでWebサイトを見ていても、必ずどこかにCookieを削除する機能が用意されています。 この記事では、iPhoneの主要ブラウザそれぞれについて、Cookieを削除する具体的な方法をわかりやすく解説します。 Cookieとは何か?iPhoneでCookieを削除する必要はあるのか Cookieとは、自分が訪れたWebサイト

  2. 【Microsoft Edge】キャッシュとCookieをクリアする方法を徹底解説

    Edgeブラウザのキャッシュをクリアする方法をお探しですか?インターネットでウェブサイトを閲覧すると、キャッシュやCookieがバックグラウンドで自動的に作成され、ハードディスクに保存されます。これはすべてのブラウザで起こる現象であり、一度訪れたページの2回目以降の読み込みが速くなるなど、便利な面もあります。しかし、キャッシュやCookieにはいくつかのデメリットもあり、そのひとつとして、Webページの新しいコンテンツが正しく表示されなくなることがあります。最善の解決策は、定期的にキャッシュとCookieをクリアすることです。この記事では、Edgeブラウザでキャッシュをクリアする方法をわかりや