You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何点击按钮从剪贴板/TXT导入完整JSON至localStorage?

需求完全可实现,以下是两种场景的具体实现方案

一、剪贴板导入功能

点击按钮后读取剪贴板中的JSON文本,解析成对象后清空原有localStorage,再批量写入新键值对:

<button id="importFromClipboard">从剪贴板导入</button>

<script>
document.getElementById('importFromClipboard').addEventListener('click', async () => {
  try {
    // 读取剪贴板内容
    const clipboardText = await navigator.clipboard.readText();
    // 解析JSON数据
    const importData = JSON.parse(clipboardText);
    
    // 清空原有localStorage内容
    localStorage.clear();
    
    // 批量写入新数据
    Object.entries(importData).forEach(([key, value]) => {
      localStorage.setItem(key, value);
    });
    
    alert('导入成功');
  } catch (err) {
    alert(`导入失败:${err.message}`);
  }
});
</script>

二、本地TXT文件导入功能

通过文件选择框读取本地TXT文件内的JSON数据,后续逻辑和剪贴板导入一致:

<input type="file" id="importFromFile" accept=".txt">

<script>
document.getElementById('importFromFile').addEventListener('change', (e) => {
  const file = e.target.files[0];
  if (!file) return;
  
  const reader = new FileReader();
  reader.onload = (event) => {
    try {
      const fileContent = event.target.result;
      const importData = JSON.parse(fileContent);
      
      localStorage.clear();
      Object.entries(importData).forEach(([key, value]) => {
        localStorage.setItem(key, value);
      });
      
      alert('导入成功');
    } catch (err) {
      alert(`导入失败:${err.message}`);
    }
  };
  reader.readAsText(file);
});
</script>

注意事项

  • 导入的JSON必须是合法格式,你提供的示例中转义后的双引号、制表符都是符合规范的,可正常解析
  • 剪贴板导入功能需要页面运行在HTTPS环境(localhost本地开发环境也支持)

内容的提问来源于stack exchange,提问作者Максим Пилипчук

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:11:05