localStorage 是 HTML5 存储数据的方式,之前初次整理过其用法及不同存储类型,详情查看《js中local/session 及cookie存储数据》,稍微回顾一下localStorage的特点:
- 受同源策略的限制
- 存储空间一般在 5MB 左右
- 键值对最终的存储形式为字符串
- 数据可以长期保留,只有不清理,一年后也能用!
兼容性检测代码:
window.onload = function(){
if (isLocalStorageUsable()) { // 判断设备兼容后执行
console.log((isLocalStorageUsable()));
aa()
}
}
function isLocalStorageUsable() {
const localStorageTestKey = '__localStorage_support_test';
const localStorageTestValue = 'test';
let isSupport = false;
try {
localStorage.setItem(localStorageTestKey, localStorageTestValue);
if (localStorage.getItem(localStorageTestKey) === localStorageTestValue) {
isSupport = true;
}
localStorage.removeItem(localStorageTestKey);
return isSupport;
} catch(e) {
if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {
console.warn('localStorage 存储已达上限!')
} else {
console.warn('当前浏览器不支持 localStorage!');
}
return isSupport;
}
}
function aa(){ // 开始存数据
localStorage.setItem('myCat', 'Tom');
}