Web Storage 配额模拟器 - 测试存储超限行为
模拟 LocalStorage 或 IndexedDB 写满配额,测试错误处理并显示剩余空间估算。
UD5工具箱
实时演示 localStorage 的 storage 事件如何在不同标签页之间传递消息
Storage 事件是浏览器在localStorage或sessionStorage数据发生变化时触发的事件。关键特性:
key(变化的键)、oldValue、newValue、url(触发源的URL)、storageArea(受影响的Storage对象)。这是浏览器设计的安全机制。storage事件的设计初衷是跨浏览上下文通知——让其他标签页/窗口知道数据发生了变化。如果在当前页面也触发,可能导致:
在本演示工具中,我们通过手动创建 new StorageEvent()并dispatchEvent来模拟跨标签页效果,让您在同一页面中也能直观看到通信过程。模拟事件的isTrusted属性为false,真实事件为true。
关键区别:
因此,跨标签页通信只能使用localStorage(或BroadcastChannel API)。
BroadcastChannel API是专门为跨浏览上下文通信设计的现代API:
示例代码:const channel = new BroadcastChannel('my_channel'); channel.postMessage({data: 'hello'});
常见跨标签页通信方案对比:
| 方案 | 原理 | 优点 | 缺点 |
|---|---|---|---|
| localStorage + storage事件 | 共享存储+事件通知 | 兼容性好、简单 | 需序列化、有I/O开销 |
| BroadcastChannel | 专用通信通道 | 高效、灵活 | IE不支持 |
| SharedWorker | 共享Worker线程 | 可集中管理状态 | 复杂度高、兼容性一般 |
| cookie + 轮询 | 定时检查cookie变化 | 极老浏览器兼容 | 性能差、不实时 |
| window.postMessage | 跨窗口/iframe通信 | 安全、灵活 | 需要窗口引用 |
🏆 推荐:现代项目优先使用BroadcastChannel,需要兼容IE时使用localStorage + storage事件。
模拟 LocalStorage 或 IndexedDB 写满配额,测试错误处理并显示剩余空间估算。
构造文本、URL、MIME 等 NDEF 记录并写入 NFC 标签,同时可读取解析标签内容,适合现场调试。
使用Web NFC API读取NDEF格式标签的数据,展示记录类型和内容(需硬件支持)。
通过表单设置端口映射、卷挂载、环境变量等,生成 docker run 命令。
利用Web Speech API将语音实时转换为文字,支持多语言识别,输出结果可复制编辑。
调用联系人API列出可用联系属性,选中后显示(需环境支持)。
测试浏览器通知权限和弹出,自定义标题、正文及图标,发送系统桌面通知,调试推送。
生成通过Luhn算法校验但无实际金钱的卡片号码,附带有效日期供开发测试。
设定观察阈值,实时查看目标元素进入/离开视口时的回调,学习交叉观察者API。
拖拽服务、网络和卷,直观构建docker-compose.yml,并可导出文件,降低容器编排门槛。
加载棒针文字图解,高亮正在编织的当前行,手动推进,辅助跟解。
展示当前浏览器的屏幕分辨率、可用字体、插件、Canvas 等指纹信息,了解浏览器唯一性。
编写或粘贴 HTML 邮件代码,通过免费邮件发送 API 发送一份测试邮件给自己检查效果。
使用 Web Crypto API 生成自签名的 X.509 证书和密钥对,演示本地 HTTPS 证书原理。
配置Launch Handler使PWA应用在重复点击时聚焦到已开窗口,而不是新建窗口。
自建书签面板,添加、分类、搜索网站链接,数据存本地,打造干净清爽的开始页。
粘贴邮件HTML代码,在类似Gmail、Outlook的模拟框中预览效果。
添加拥有的电子游戏或桌游,标记通关/游玩进度与评分。
选择编程语言、版本和端口,生成优化过的Dockerfile内容。
勾选Secure、HttpOnly、SameSite等属性,生成安全的Set-Cookie字符串,增强Web应用安全。
使用 LZ-String 算法压缩长文本,展示压缩率和解压速度,适合 localStorage 存储。
以手机框架包裹当前网页视图,可调宽高,模拟实际移动端显示效果。
演示请求订阅Web Push,获得端点后可配合服务端发送测试推送。
生成带有焦点陷阱、ESC 关闭和背景遮罩的无障碍模态弹窗代码。
运行 Gray-Scott 反应扩散模型,调节参数生成斑点、条纹等生物斑图。
显示当前AudioContext的状态、采样率和输出延迟,并允许一键挂起或恢复。
粘贴 HTML 邮件代码,模拟在 Outlook、Gmail、Apple Mail 等环境下的渲染效果。
交互式向栈(后进先出)或队列(先进先出)添加删除元素,演示数据流变化。
输入经纬度和标记参数,构造免费静态地图图片URL,嵌入网页或分享位置。
设计无网络连接时显示的页面样式,生成需缓存的HTML。