Loading... macos safari 版本14.0.3 (15610.4.3.1.6, 15610) 不到2.6M 大概2.5M chrome 版本 88.0.4324.182(正式版本) (x86_64) 5M 网上搜索 都是说5M ios下 多数国产浏览器 包括微信和qq内置 以及 火狐 edge chrome 都是和Safari一样 2600000 2.5m 安卓手机 测试几个 都是5m,应该都是chrome的一家亲的原因 win10 edge chrome 5M ie未测 记得 ie8 是9M多不到10M 在依赖localStorage的跨段应用里面,应该限制到 2.45M以内(key也算的) 超过2.4M的数据 应考虑 indexDB等。 indexDB 一般有250MB 另外部分文本是可以通过js进行gzip压缩的,压缩率还可以 。 有一个叫做 pako.js 下面记录一些 IndexDB的常见操作 开一个数据库,如果没有 就自动创建 var request = window.indexedDB.open(databaseName, version); 复杂点 var db; request.onsuccess = function (event) { db = request.result; console.log('数据库打开成功'); }; 新建表 request.onupgradeneeded = function(event) { db = event.target.result; var objectStore = db.createObjectStore('person', { keyPath: 'id' }); } 先判断一下 表是够存在 request.onupgradeneeded = function (event) { db = event.target.result; var objectStore; if (!db.objectStoreNames.contains('person')) { objectStore = db.createObjectStore('person', { keyPath: 'id' }); } } 新建索引 request.onupgradeneeded = function(event) { db = event.target.result; var objectStore = db.createObjectStore('person', { keyPath: 'id' }); objectStore.createIndex('name', 'name', { unique: false }); objectStore.createIndex('email', 'email', { unique: true }); } 新增数据 function add() { var request = db.transaction(['person'], 'readwrite') .objectStore('person') .add({ id: 1, name: '张三', age: 24, email: 'zhangsan@example.com' }); request.onsuccess = function (event) { console.log('数据写入成功'); }; request.onerror = function (event) { console.log('数据写入失败'); } } add(); 读取 function read() { var transaction = db.transaction(['person']); var objectStore = transaction.objectStore('person'); var request = objectStore.get(1); request.onerror = function(event) { console.log('事务失败'); }; request.onsuccess = function( event) { if (request.result) { console.log('Name: ' + request.result.name); console.log('Age: ' + request.result.age); console.log('Email: ' + request.result.email); } else { console.log('未获得数据记录'); } }; } read(); 遍历 function readAll() { var objectStore = db.transaction('person').objectStore('person'); objectStore.openCursor().onsuccess = function (event) { var cursor = event.target.result; if (cursor) { console.log('Id: ' + cursor.key); console.log('Name: ' + cursor.value.name); console.log('Age: ' + cursor.value.age); console.log('Email: ' + cursor.value.email); cursor.continue(); } else { console.log('没有更多数据了!'); } }; } readAll(); 更新 function update() { var request = db.transaction(['person'], 'readwrite') .objectStore('person') .put({ id: 1, name: '李四', age: 35, email: 'lisi@example.com' }); request.onsuccess = function (event) { console.log('数据更新成功'); }; request.onerror = function (event) { console.log('数据更新失败'); } } update(); 最后修改:2021 年 02 月 18 日 10 : 45 PM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付