设置cookie
function cookie(key, value, options) { let days let time let result // A key and value were given. Set cookie. if (arguments.length > 1 && String(value) !== '[object Object]') { // Enforce object options = Object.assign({}, options) if (value === null || value === undefined) { options.expires = -1 } if (typeof options.expires === 'number') { days = options.expires * 24 * 60 * 60 * 1000 time = options.expires = new Date() time.setTime(time.getTime() + days) } value = String(value) return (document.cookie = `${encodeURIComponent(key)}=${ options.raw ? value : encodeURIComponent(value) } ${options.expires ? `; expires=${options.expires.toUTCString()}` : ''} ${options.path ? `; path=${options.path}` : ''} ${options.domain ? `; domain='${options.domain}` : ''} ${options.secure ? '; secure' : ''}`) } // Key and possibly options given, get cookie options = value || {} const decode = options.raw ? function(s) { return s } : decodeURIComponent return (result = new RegExp(`(?:^|; )${encodeURIComponent(key)}=([^;]*)`).exec(document.cookie)) ? decode(result[1]) : null }
/** * getCookie 获取cookies * @param {String} key * @param {String} defultValue */
function getCookie() { const args = Array.prototype.slice.call(arguments) const key = args.length > 0 ? args[0] : null const defaultValue = args.length > 1 ? args[1] : '' // const cookieValue =cookie(key) let result = new RegExp(`(?:^|; )${encodeURIComponent(key)}=([^;]*)`).exec(document.cookie) result = result ? result[1] : null try { return result === null ? defaultValue : result } catch (error) { throw error } }
来源:https://www.cnblogs.com/restart77/p/12336349.html