IE と互換性のある jquery.cookie 関数の cookies_jquery を取得および設定するメソッド

WBOY
リリース: 2016-05-16 17:23:54
オリジナル
1506 人が閲覧しました
はじめに

開発プロセス中、以前に Discuz に触っていたので、後でテストするために IE を使用できるように、common.js の getcookie メソッドと setcookie メソッドを直接使用しました。そのとき、これらの 2 つの方法は IE では機能しないことがわかったので、この方法で jquery.cookie.js ファイルのソースを作成しました。今後の使用や研究のために、下に貼り付けてください。

ソースコード
コードをコピー コードは次のとおりです:

/**
* Cookie プラグイン
*
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
* MIT および GPL ライセンスに基づくデュアル ライセンス:
* http://www.opensource .org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/

/**
* 指定された名前と値、およびその他のオプションのパラメーターを使用して Cookie を作成します。
*
* @example $.cookie('the_cookie', 'the_value');
* @desc Cookie の値を設定します。
* @example $.cookie('the_cookie', 'the_value', {有効期限: 7, パス: '/', ドメイン: 'jquery.com', セキュア: true});
* @desc 利用可能なすべてのオプションを使用して Cookie を作成します。
* @example $.cookie('the_cookie', 'the_value');
* @desc セッション Cookie を作成します。
* @example $.cookie('the_cookie', null);
* @desc 値として null を渡して Cookie を削除します。
*
* @param String name クッキーの名前。
* @param 文字列値 Cookie の値。
* @param オブジェクト オプション オプションの Cookie 属性を提供するキーと値のペアを含むオブジェクト リテラル。
* @option Number|Date Expires 今後の有効期限を日単位で指定する整数または Date オブジェクト。
* 負の値を指定した場合 (過去の日付など)、Cookie は削除されます。
* null に設定するか省略した場合、Cookie はセッション Cookie となり、ブラウザの終了時に保持されません
*。
* @option String path Cookie の path 属性の値 (デフォルト: Cookie を作成したページのパス)。
* @option String ドメイン Cookie のドメイン属性の値 (デフォルト: Cookie を作成したページのドメイン)。
* @option Boolean secure true の場合、Cookie の安全な属性が設定され、Cookie の送信には
* 安全なプロトコル (HTTPS など) が必要になります。
* @type unknown
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/

/**
* 指定された名前の Cookie の値を取得します。
*
* @example $.cookie('the_cookie');
* @desc Cookie の値を取得します。
*
* @param String name クッキーの名前。
* @return Cookie の値。
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function( name, value, options) {
if (typeof value != 'unknown') { // 指定された名前と値、Cookie を設定します
options = options {}; null) {
value = '';
options.expires = -1;
}
var 期限切れ = ''; 'number' | options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date(); setTime(date.getTime() (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
expires = '; ' date.toUTCString (); // 期限切れ属性を使用します。IE ではサポートされていません
}
var path =' options.path : ''; var ドメイン = オプション .ドメイン ? '; ドメイン = ' オプション : '';
var secure = options.secure ' : ''; 、encodeURIComponent(value )、期限切れ、パス、ドメイン、secure].join('');
} else { // 名前のみを取得、Cookie
var cookieValue = null; cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i var cookie = jQuery.trim(cookies[i]);
// この Cookie 文字列は必要な名前で始まりますか?
if (cookie.substring(0, name.length 1) == (name) '=') ) {
cookieValue = decodeURIComponent(cookie.substring(name.length 1));
}
}
return
}
};

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート