jQuery .cookie = function(name , value, options) {
if (typeof value != 'unknown') { // 指定された名前と値、cookie
options = options {};
if (値 === null ; 数値' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date() ;
日付。setTime (date.getTime() (options.expires * 24 * 60 * 60 * 1000));
= '; 期限切れ=' date.toUTCString() // 期限切れ属性を使用します。 -age は IE
}
var path = options.path ? '; path=' options.path : '';
var domain = options.domain='; ではサポートされていません。ドメイン : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [名前、'='、encodeURIComponent(value)、期限切れ、パス、ドメイン、安全] .join('');
} else { // 指定された名前のみ、cookie
を取得 var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i
var cookie = jQuery.trim (cookies[i]); =')) {
cookieValue = cookieValue = 🎜> }
return cookieValue;
};
次に、Discuz での Cookie の操作方法を調べました。以下のように、分割された配列の処理が欠落していることがわかりました。
コードをコピー
コードは次のとおりです。 >
function getcookie(name) {
var cookie_start = document.cookie.indexOf(name);
var cookie_end = document.cookie.indexOf(";", cookie_start);
return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start name.length 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}
function setcookie(cookieName, cookieValue, 秒,パス、ドメイン、セキュア) {
varexpires = new Date();
expires.setTime(expires.getTime() 秒);
document.cookie =エスケープ(cookieName) '='エスケープ(cookieValue) )
(期限切れ ? '; 期限切れ=' 期限切れ.toGMTString() : '')
(パス ? '; path=' パス : '/')
(ドメイン ? '; ドメイン=' ドメイン: '')
(セキュア ? '; セキュア' : '');
}