ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript での Cookie の読み取り、書き込み、削除操作 (グラフィック チュートリアル)

JavaScript での Cookie の読み取り、書き込み、削除操作 (グラフィック チュートリアル)

亚连
亚连オリジナル
2018-05-19 10:59:471291ブラウズ

この記事では、JavaScript での Cookie の読み取り、書き込み、削除操作に関する関連情報を主に紹介します。必要な方は、

JavaScript での Cookie の読み取り、書き込み、削除操作を参照してください。

前書き:

-end ランパントを実行すると、ページ間のやり取りでデータの転送が必要になることがあります。ただし、一部のデータは URL 経由でパラメータを渡すことでうまく解決できます。たとえば、変更が必要なパラメータについては、ページ A からページへのデータを選択できます。ページ B にアクセスし、ページ B からページ A にデータを転送します (典型的な例は、配送先アドレスの選択です)。この問題は、Cookie を保存することで解決しました。

もちろん、私は先人の経験を参考にして、Cookie の操作を自分で組み合わせた簡単なカプセル化を行いました。まず、Cookie の操作を見てみましょう。書き込み操作のみが可能であり、その後、削除などの操作を実行できます。

/**
 * 设置COOKIE
 * @param name 设置cookie的属性名
 * @param value 设置cookie的属性值
 * @param time  设置cookie的时间
 */

function setCookie(name, value , time) {
  time = time ? parseFloat(time) : 0 ;
  var exp = new Date();
  exp.setTime(exp.getTime() + time);
  // escape 这种编码方式过时了 改用 encodeURIComponent
  // document.cookie = name + "=" + escape(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
  document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
}

書き込み操作ができたので、読み取り操作を見てみましょう。

/**
 * 获取cookie
 * @param name
 * @returns {null}
 */

function getCookie(name) {
  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg))
    //unescape这种解码方式好像过时了,可以采用decodeURIComponent解码方式
    //return unescape(arr[2]);
     return decodeURIComponent(arr[2]);
  else
    return null;
}

次のステップは Cookie を削除することです。実際、この操作は非常に簡単です。Cookie の有効期限を設定するだけで、Cookie は自動的に期限切れになります。

/**
 * 删除cookie
 * @param name
 */

function delCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null)
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

上記は Cookie に対するいくつかの簡単な操作です

次に、 Cookie について話しましょう。 根深い問題: クロスドメイン Cookie

 Js跨域同步cookie怎么实现
    document.cookie = "name=" + "value;" + "expires=" + "datatime;" + "domain=" + "" + "path=" + "/path" + "; secure";

/**
 * 删除cookie
 * value Cookie值
 * expires 有效期截至(单位毫秒)
 * path 子目录
 * domain 有效域
 * secure 是否安全
 */

<iframe src=&#39;http://网站:1234/test/Index&#39; width=&#39;100&#39; height=&#39;100&#39; style="display:none"></iframe>

/*
*原页面js里 window.location = "http://另外一个网站:1234/GetCookie/Index?" + document.cookie;跳到另外一个站,另外一个站获取cookie,设置cookie
*/

 var url = window.location.toString();//获取地址
 var get = url.substring(url.indexOf("liuph"));//获取变量和变量值
 var idx = get.indexOf("=");//获取变量名长度
 if (idx != -1) {
    var name = get.substring(0, idx);//获取变量名
    var val = get.substring(idx + 1);//获取变量值
    setCookie(name, val, 1);//创建Cookie
  }

以上が私がまとめたもので、今後皆さんのお役に立てれば幸いです。

関連記事:

Node.js+Koa JWTユーザー認証実装手順の詳細説明

jQuery.i18n.properties js国際標準の実装方法

の3つ種類JSファイルの動的読み込み方法のまとめ

以上がJavaScript での Cookie の読み取り、書き込み、削除操作 (グラフィック チュートリアル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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