当前位置:首页 > 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 类似,但数据仅在当前会话有效,关闭浏览器标签页后数据将被清除。

js实现网页保存

// 保存数据
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 请求中发送到服务器。

js实现网页保存

// 设置 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,允许网页直接与用户本地文件系统交互。

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实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…

js验证码实现

js验证码实现

验证码的基本原理 验证码(CAPTCHA)用于区分人类用户和自动化程序。常见类型包括图形验证码、滑动验证码、短信验证码等。JavaScript 可用于前端验证码的生成和验证逻辑。 图形验证码实现 使…