ホームページ ウェブフロントエンド jsチュートリアル JavaScript のカプセル化 Cookie アプリケーション インターフェイス_JavaScript スキル

JavaScript のカプセル化 Cookie アプリケーション インターフェイス_JavaScript スキル

May 16, 2016 pm 03:46 PM
cookie javascript カプセル化

この記事は、Cookie の学習中にこの本を読んで学んだことの一部を記録し、記憶を深め、将来の見直しのために整理して記録します。

パッケージング機能

Cookie へのアクセスはデフォルトでは面倒なものです。 Cookie は文字列を通じて情報を保存するため、代入操作を実行するときに読み取った情報のデータ型を変換するのが簡単です。また、Cookie 情報の文字列自体が煩わしく、特に Cookie 情報を多用する Web アプリケーションでは不便です。したがって、開発効率を高めるために、Cookie 関数を自分でカプセル化する必要があります。

関数 Cookie() を定義します。この関数は、指定された Cookie 情報の書き込み、指定された Cookie 情報の削除、および指定された名前の Cookie 値の読み取りを行うことができます。また、この関数では、Cookie 情報の有効期限を設定できます。有効なパス、スコープ、セキュリティ オプション設定も設定する必要があります。完全なコード:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

var Cookie = function(name, value, options) {

    // 如果第二个参数存在

    if (typeof value != 'undefined') {

      options = options || {};

      if (value === null) {

        // 设置失效时间

        options.expires = -1;

      }

      var expires = '';

      // 如果存在事件参数项,并且类型为 number,或者具体的时间,那么分别设置事件

      if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {

        var date;

        if (typeof options.expires == 'number') {

          date = new Date();

          date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));

        } else {

          date = options.expires;

        }

        expires = '; expires=' + date.toUTCString();

      }

      var path = options.path ? '; path=' + options.path : '', // 设置路径

        domain = options.domain ? '; domain=' + options.domain : '', // 设置域

        secure = options.secure ? '; secure' : ''; // 设置安全措施,为 true 则直接设置,否则为空

 

      // 把所有字符串信息都存入数组,然后调用 join() 方法转换为字符串,并写入 Cookie 信息

      document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');

    } else { // 如果第二个参数不存在

      var CookieValue = null;

      if (document.cookie && document.cookie != '') {

        var Cookie = document.cookie.split(';');

        for (var i = 0; i < Cookies.length; i++) {

          var Cookie = (Cookie[i] || "").replace( /^\s+|\s+$/g, "");

          if (Cookie.substring(0, name.length + 1) == (name + '=')) {

            CookieValue = decodeURIComponent(Cookie.substring(name.length + 1));

            break;

          }

        }

      }

      return CookieValue;

    }

  };

ログイン後にコピー

使用方法

Cookie 情報の書き込み:

1

2

3

4

5

6

7

8

9

// 简单写入一条 Cookie 信息

cookie("user", "baidu");

// 写入一条 Cookie 信息,并且设置更多选项

cookie("user", "baidu", {

  expires: 10, // 有效期为 10 天

  path: "/", // 整个站点有效

  domain: "www.baidu.com", // 有效域名

  secure: true // 加密数据传输

});

ログイン後にコピー

2. Cookie 情報を読み取ります:

1

cookie("user");

ログイン後にコピー

3. Cookie 情報を削除します:

1

cookie("user", null);

ログイン後にコピー

パッケージ化されたコードを共有します

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

//向cookie写入数据

function writeCookie(name, value, days) {

 // 定义有效日期(cookie的有效时间)

 var expires = "";

 

 // 为有效日期赋值

 if (days) {

  var date = new Date();

    //设置有效期(当前时间+时间段)

  date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));//时间段为毫秒数

  expires = "; expires=" + date.toGMTString();

 }

 

 // 给cookie赋值 name, value和expiration date(有效期)

 document.cookie = name + "=" + value + expires + "; path=/";

}

//读取cookie数据

function readCookie(name) {

 var searchName = name + "=";

 var cookies = document.cookie.split(';');

 for(var i=0; i < cookies.length; i++) {

  var c = cookies[i];

  while (c.charAt(0) == ' ')

   c = c.substring(1, c.length);

  if (c.indexOf(searchName) == 0)

   return c.substring(searchName.length, c.length);

 }

 return null;

}

//清楚所有的cookie

function eraseCookie(name) {

 // 将时间设置成-1将清除存储在cookie中的数据

 writeCookie(name, "", -1);

}

ログイン後にコピー

最後に、記事内に間違いや疑問点がございましたら、ご指摘ください。皆さんも励みにしましょう!

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Cookie はどこに保存されますか? Cookie はどこに保存されますか? Dec 20, 2023 pm 03:07 PM

Cookie は通常、ブラウザの Cookie フォルダに保存されます。ブラウザの Cookie ファイルは通常、バイナリ形式または SQLite 形式で保存されます。Cookie ファイルを直接開くと、文字化けしたり判読できないコンテンツが表示される可能性があるため、使用することをお勧めします。 Cookie を表示および管理するためにブラウザによって提供される Cookie 管理インターフェイス。

コンピューター上の Cookie はどこにありますか? コンピューター上の Cookie はどこにありますか? Dec 22, 2023 pm 03:46 PM

コンピュータ上の Cookie は、使用するブラウザとオペレーティング システムに応じて、ブラウザ上の特定の場所に保存されます。 1. Google Chrome、C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies に保存されます。等

モバイル Cookie はどこにありますか? モバイル Cookie はどこにありますか? Dec 22, 2023 pm 03:40 PM

携帯電話上の Cookie は、モバイル デバイスのブラウザ アプリケーションに保存されます: 1. iOS デバイスでは、Cookie は Safari ブラウザの [設定] -> Safari -> [詳細] -> [Web サイト データ] に保存されます; 2. Android デバイスでは、Cookie は保存されますChromeブラウザの設定→サイト設定→Cookieなど

TrendForce: Nvidia の Blackwell プラットフォーム製品により、TSMC の CoWoS 生産能力は今年 150% 増加します TrendForce: Nvidia の Blackwell プラットフォーム製品により、TSMC の CoWoS 生産能力は今年 150% 増加します Apr 17, 2024 pm 08:00 PM

4月17日の当サイトのニュースによると、TrendForceは最近、Nvidiaの新しいBlackwellプラットフォーム製品に対する需要は強気で、2024年にはTSMCのCoWoSパッケージング総生産能力が150%以上増加すると予想されるレポートを発表した。 NVIDIA Blackwell の新しいプラットフォーム製品には、B シリーズ GPU と、NVIDIA 独自の GraceArm CPU を統合する GB200 アクセラレータ カードが含まれます。 TrendForce は、サプライチェーンが現在 GB200 について非常に楽観的であることを確認しており、2025 年の出荷台数は 100 万台を超え、Nvidia のハイエンド GPU の 40 ~ 50% を占めると予想されています。 Nvidiaは今年下半期にGB200やB100などの製品を提供する予定だが、上流のウェーハパッケージングではさらに複雑な製品を採用する必要がある。

ブラウザの Cookie が保存される場所の詳細な説明 ブラウザの Cookie が保存される場所の詳細な説明 Jan 19, 2024 am 09:15 AM

インターネットの普及により、ブラウザを使用してインターネットを閲覧することが生活様式になりました。ブラウザを日常的に使用する中で、オンラインショッピング、ソーシャルネットワーキング、電子メールなど、アカウントのパスワードを入力する必要がある場面に遭遇することがよくあります。この情報は、次回アクセスするときに再度入力する必要がないようにブラウザによって記録される必要がありますが、このような場合に Cookie が役に立ちます。クッキーとは何ですか? Cookie とは、サーバーからユーザーのブラウザに送信され、ローカルに保存される小さなデータ ファイルを指し、一部の Web サイトでのユーザーの行動が含まれています。

AMD「Strix Halo」FP11のパッケージサイズを公開:Intel LGA1700と同等、Phoenixより60%大きい AMD「Strix Halo」FP11のパッケージサイズを公開:Intel LGA1700と同等、Phoenixより60%大きい Jul 18, 2024 am 02:04 AM

このWebサイトは7月9日、AMD Zen5アーキテクチャの「Strix」シリーズプロセッサには2つのパッケージングソリューションがあり、小型のStrixPointはFP8パッケージを使用し、StrixHaloはFP11パッケージを使用すると報じた。出典: videocardz 出典 @Olrak29_ 最新の事実は、StrixHalo の FP11 パッケージ サイズが 37.5mm*45mm (1687 平方ミリメートル) であり、これは Intel の AlderLake および RaptorLake CPU の LGA-1700 パッケージ サイズと同じであるということです。 AMD の最新の Phoenix APU は、サイズ 25*40mm の FP8 パッケージング ソリューションを使用しています。これは、StrixHalo の F

簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 簡単な JavaScript チュートリアル: HTTP ステータス コードを取得する方法 Jan 05, 2024 pm 06:08 PM

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

Cookie 設定に関するよくある質問と解決策 Cookie 設定に関するよくある質問と解決策 Jan 19, 2024 am 09:08 AM

Cookie 設定に関する一般的な問題と解決策、具体的なコード例が必要です インターネットの発展に伴い、Cookie は最も一般的な従来技術の 1 つとして、Web サイトやアプリケーションで広く使用されています。簡単に言うと、Cookie はユーザーのコンピュータに保存されるデータ ファイルで、ログイン名、ショッピング カートの内容、Web サイトの設定などを含むユーザーの情報を Web サイトに保存するために使用できます。 Cookie は開発者にとって不可欠なツールですが、同時に Cookie の設定が頻繁に必要になります。

See all articles