Javascript怎样使用SessionStorage和LocalStorage

使用SessionStorage和LocalStorage可以在客户端存储、读取数据,从而实现一些常见的功能,例如用户登录状态的保持、表单数据的保存等等。SessionStorage一般用于临时保存会话数据,当用户关闭浏览器时会被清除;而LocalStorage可以长期存储,直到用户手动删除或者浏览器清除缓存。

SessionStorage的使用

存储数据

可以使用sessionStorage对象的setItem方法来存储数据,例如:

sessionStorage.setItem("username", "John");
sessionStorage.setItem("email", "john@example.com");

读取数据

可以使用sessionStorage对象的getItem方法来读取数据,例如:

let username = sessionStorage.getItem("username");
let email = sessionStorage.getItem("email");

console.log(username); // 输出 "John"
console.log(email); // 输出 "john@example.com"

示例1:保存表单数据

可以在表单提交时,将表单数据保存到sessionStorage中,待用户下次访问页面时再恢复。示例代码如下:

<form id="myForm">
  <label for="username">Username:</label>
  <input type="text" id="username" name="username">

  <label for="password">Password:</label>
  <input type="password" id="password" name="password">

  <button type="submit">Submit</button>
</form>

<script>
  // 获取表单元素
  let myForm = document.querySelector("#myForm");
  let usernameInput = document.querySelector("#username");
  let passwordInput = document.querySelector("#password");

  // 表单提交事件
  myForm.addEventListener("submit", function(event) {
    // 阻止表单默认提交
    event.preventDefault();

    // 将表单数据保存到sessionStorage中
    sessionStorage.setItem("username", usernameInput.value);
    sessionStorage.setItem("password", passwordInput.value);

    // 跳转到其他页面
    location.href = "other-page.html";
  });

  // 页面加载事件
  window.addEventListener("load", function(event) {
    // 恢复表单数据
    usernameInput.value = sessionStorage.getItem("username") || "";
    passwordInput.value = sessionStorage.getItem("password") || "";
  });
</script>

示例2:保存用户登录状态

可以在用户登录成功后,将登录状态通过sessionStorage保存,然后在访问其他需要登录的页面时,检查sessionStorage中是否保存了登录状态,如果没有则跳转到登录页面。示例代码如下:

// 用户登录成功后,保存登录状态
sessionStorage.setItem("isLogin", "true");

// 另一个需要登录的页面
if (sessionStorage.getItem("isLogin") !== "true") {
  // 未登录,跳转到登录页面
  location.href = "login.html";
}

LocalStorage的使用

存储数据

可以使用localStorage对象的setItem方法来存储数据,例如:

localStorage.setItem("username", "John");
localStorage.setItem("email", "john@example.com");

读取数据

可以使用localStorage对象的getItem方法来读取数据,例如:

let username = localStorage.getItem("username");
let email = localStorage.getItem("email");

console.log(username); // 输出 "John"
console.log(email); // 输出 "john@example.com"

示例3:记住用户偏好设置

可以让用户在一个设置页面中修改一些偏好设置,例如主题颜色、字体大小等等,然后将这些设置保存到localStorage中,在其他页面应用这些设置。示例代码如下:

<label for="theme">Theme:</label>
<select id="theme">
  <option value="light">Light</option>
  <option value="dark">Dark</option>
</select>

<label for="fontSize">Font size:</label>
<select id="fontSize">
  <option value="small">Small</option>
  <option value="medium">Medium</option>
  <option value="large">Large</option>
</select>

<script>
  // 获取元素
  let themeInput = document.querySelector("#theme");
  let fontSizeInput = document.querySelector("#fontSize");

  // 设置页面加载事件
  window.addEventListener("load", function(event) {
    // 恢复偏好设置
    themeInput.value = localStorage.getItem("theme") || "light";
    fontSizeInput.value = localStorage.getItem("fontSize") || "medium";

    // 应用偏好设置
    applyTheme(themeInput.value);
    applyFontSize(fontSizeInput.value);
  });

  // 设置偏好设置变化事件
  themeInput.addEventListener("change", function(event) {
    localStorage.setItem("theme", themeInput.value);
    applyTheme(themeInput.value);
  });

  fontSizeInput.addEventListener("change", function(event) {
    localStorage.setItem("fontSize", fontSizeInput.value);
    applyFontSize(fontSizeInput.value);
  });

  // 实际应用主题样式
  function applyTheme(theme) {
    let body = document.querySelector("body");
    if (theme === "light") {
      body.classList.remove("dark");
    } else {
      body.classList.add("dark");
    }
  }

  // 实际应用字体大小样式
  function applyFontSize(size) {
    document.documentElement.style.fontSize = {
      small: "12px",
      medium: "14px",
      large: "16px"
    }[size];
  }
</script>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript怎样使用SessionStorage和LocalStorage - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript读取本地文件和目录方法详解

    JavaScript读取本地文件和目录方法详解 概述 JavaScript是一种可以在页面上运行的脚本语言,其主要作用是改变页面上元素的行为和外观,实现更加友好和丰富的用户交互。在某些场景下,我们需要读取本地文件或目录内容,此时需要借助一些JS库或API来实现。 读取本地文件 使用File API 在HTML5中,有一个File API,该API提供了读取用…

    JavaScript 2023年5月27日
    00
  • 用Javascript获取页面元素的具体位置

    获取页面元素的具体位置,一般使用Javascript中的offsetLeft和offsetTop属性来实现。这两个属性分别表示该元素相对于其父元素的水平和垂直位置,单位为像素。 以下是实现该功能的具体攻略: 步骤一:获取元素 首先我们需要获取需要获取位置的元素,可以通过以下方式获取: var element = document.getElementById…

    JavaScript 2023年6月10日
    00
  • JavaScript利用Immerjs实现不可变数据

    针对“JavaScript利用Immerjs实现不可变数据”的完整攻略,我为大家提供以下详细讲解。 什么是Immerjs Immerjs是一个JavaScript库,可以让您使用不可变数据避免更改源数据。它通过提供一种易于使用的机制来撰写交错对象更新(Immerjs的核心)。 Immerjs通过使用JavaScript Proxy API来实现这些功能,而P…

    JavaScript 2023年6月10日
    00
  • js字符串转json对象的四种实现方法

    下面是关于“JS字符串转JSON对象的四种实现方法”的详细攻略。 概述 在前端开发中,我们经常需要将字符串转换为JSON对象。这时候,使用JavaScript提供的JSON对象提供了很好的支持。下面,我们将介绍四种将JS字符串转化为JSON对象的实现方法。 方法一:使用eval函数 let str = ‘{"name": "ap…

    JavaScript 2023年5月27日
    00
  • javascript对下拉列表框(select)的操作实例讲解

    让我详细地讲解一下“JavaScript对下拉列表框(select)的操作实例讲解”的完整攻略。 一、基本概念 下拉列表框也叫做“选择框”,是Web前端页面中的一个重要元素之一。它是通过HTML中的标签实现的,可以在页面中展示多个选项,并允许用户从中选择一个选项。 在JavaScript中,我们可以通过DOM操作来获取下拉列表框的各个属性,并对其进行增删改查…

    JavaScript 2023年6月11日
    00
  • js跨域调用WebService的简单实例

    下面是详细讲解“js跨域调用WebService的简单实例”的完整攻略,包含了两条示例说明。 什么是跨域调用? 在同源策略下,Web页面只能调用同一域名下的Web服务,无法调用外部的Web服务。这是因为出于安全考虑,为防止页面通过Javascript获取到外部服务的数据后,将数据篡改或者传输给恶意的第三方站点。 但是有时候,我们确实需要通过Javascrip…

    JavaScript 2023年6月11日
    00
  • JavaScript简单编程实例学习

    我们来详细讲解一下“JavaScript简单编程实例学习”的完整攻略。 一、前置知识 在开始学习JavaScript编程实例之前,我们需要掌握一些基本的前置知识,包括: HTML和CSS的基本语法 JavaScript的基本语法和数据类型 DOM操作基础知识 如果你还不掌握这些基础知识,可以先学习一下相关教程。 二、实例解析 接下来,我们将通过两个实例来详细…

    JavaScript 2023年5月18日
    00
  • JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)

    JS数组操作是对数组进行增加、删除、翻转、转字符串、取索引、截取、剪接和数组合并等常见操作。 增加操作 数组的增加操作包括push和unshift,push用于在数组末尾添加一个或多个元素,unshift用于在数组开头添加一个或多个元素。示例如下: let arr = [1, 2, 3]; // push arr.push(4); console.log(a…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部