当前位置:首页 > JavaScript

js实现网页保存

2026-04-04 03:12:36JavaScript

使用 localStorage 保存数据

localStorage 允许在浏览器中存储键值对数据,数据不会随页面关闭而清除。

// 保存数据
localStorage.setItem('key', 'value');

// 读取数据
const data = localStorage.getItem('key');

// 删除数据
localStorage.removeItem('key');

使用 sessionStorage 保存会话数据

sessionStorage 与 localStorage 类似,但数据仅在当前会话有效,关闭浏览器标签页后数据将被清除。

// 保存数据
sessionStorage.setItem('key', 'value');

// 读取数据
const data = sessionStorage.getItem('key');

使用 IndexedDB 存储大量结构化数据

IndexedDB 是一个底层 API,适合存储大量结构化数据。

const request = indexedDB.open('MyDatabase', 1);

request.onupgradeneeded = (event) => {
  const db = event.target.result;
  const store = db.createObjectStore('MyObjectStore', { keyPath: 'id' });
};

request.onsuccess = (event) => {
  const db = event.target.result;
  const transaction = db.transaction('MyObjectStore', 'readwrite');
  const store = transaction.objectStore('MyObjectStore');

  store.add({ id: 1, name: 'Item 1' });
};

使用 Cookies 保存小量数据

Cookies 适合存储小量数据,会在每次 HTTP 请求中发送到服务器。

// 设置 Cookie
document.cookie = 'username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/';

// 读取 Cookie
const cookies = document.cookie;

实现文件下载保存

通过创建 Blob 对象和下载链接实现文件保存功能。

function saveFile(content, filename, type) {
  const blob = new Blob([content], { type });
  const url = URL.createObjectURL(blob);
  const a = document.createElement('a');

  a.href = url;
  a.download = filename;
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
  URL.revokeObjectURL(url);
}

// 使用示例
saveFile('Hello World', 'example.txt', 'text/plain');

使用 File System Access API

现代浏览器支持的 API,允许网页直接与用户本地文件系统交互。

js实现网页保存

async function saveFile() {
  try {
    const handle = await window.showSaveFilePicker({
      types: [{
        description: 'Text Files',
        accept: { 'text/plain': ['.txt'] }
      }]
    });

    const writable = await handle.createWritable();
    await writable.write('File content');
    await writable.close();
  } catch (err) {
    console.error(err);
  }
}

标签: 网页js
分享给朋友:

相关文章

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

h5实现网页截屏

h5实现网页截屏

实现网页截屏的方法 使用html2canvas库 html2canvas是一个流行的JavaScript库,可以将网页内容转换为Canvas图像。安装方式如下: npm install html2c…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…