123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import utils from './../utils.js';
- import platform from '../platform/index.js';
- export default platform.hasStandardBrowserEnv ?
- // Standard browser envs support document.cookie
- {
- write(name, value, expires, path, domain, secure) {
- const cookie = [name + '=' + encodeURIComponent(value)];
- utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());
- utils.isString(path) && cookie.push('path=' + path);
- utils.isString(domain) && cookie.push('domain=' + domain);
- secure === true && cookie.push('secure');
- document.cookie = cookie.join('; ');
- },
- read(name) {
- const match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
- return (match ? decodeURIComponent(match[3]) : null);
- },
- remove(name) {
- this.write(name, '', Date.now() - 86400000);
- }
- }
- :
- // Non-standard browser env (web workers, react-native) lack needed support.
- {
- write() {},
- read() {
- return null;
- },
- remove() {}
- };
|