可在页面加载时读取并还原上次保存的压缩等级,用户切换后立即存入localstorage;需使用语义化键名如"code-compressor-level",存取时处理字符串/数字转换,并用try/catch兼容无痕模式等异常场景。

可以在页面加载时读取上次保存的压缩等级,用户切换后立即存入 localStorage,下次打开自动还原。关键是要选对键名、处理好数据类型,并兼顾异常情况。
定义统一的存储键名
用语义清晰、不易冲突的键名,比如 "code-compressor-level"。避免用通用词如 "level" 或 "setting",防止被其他脚本覆盖。
保存和读取压缩等级值
压缩等级通常是数字(如 0–3)或字符串(如 "medium"),但 localStorage 只存字符串,所以直接存数字即可,读取后可按需转回数字:
- 保存: localStorage.setItem("code-compressor-level", "2");
- 读取并转为数字:const level = Number(localStorage.getItem("code-compressor-level")) || 1;(加默认值防 null)
绑定用户操作并自动同步
当用户通过下拉菜单或单选按钮切换等级时,在 change 或 input 事件中触发保存:
- 示例:document.getElementById("level-select").addEventListener("change", e => { localStorage.setItem("code-compressor-level", e.target.value); });
- 页面初始化时,先读取值再设到控件:const saved = localStorage.getItem("code-compressor-level"); if (saved !== null) selectElement.value = saved;
注意兼容性与边界情况
不需要检测浏览器支持——现代浏览器全支持;但建议加 try/catch 防无痕模式等禁用场景:
- try { localStorage.setItem(key, value); } catch (e) { console.warn("本地存储不可用,跳过记忆功能"); }
- 不存对象或布尔值,避免自动转成 "[object Object]" 或 "true" 字符串
- 清空缓存或重置工具时,可主动调用 localStorage.removeItem("code-compressor-level")
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











