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中最基础的操作之一,它是我们在实际开发中经常会用到的操作。 获取属性的值 JavaScript中有很多方式可以获取属性的值,例如使用.操作符或[]操作符来获取属性的值。使用.操作符获取属性的值,语法如下: 对象.属性名 例如: var person = {…

    JavaScript 2023年6月11日
    00
  • JavaScript奇技淫巧44招【实用】

    JavaScript奇技淫巧44招【实用】攻略 作为一名网站开发者,熟练掌握JavaScript的技巧和小技巧是非常重要的。下面是44个实用的JavaScript奇技淫巧,以及它们的用法和示例说明。 1. 使用逻辑运算符和函数默认值进行简化 function multiply(a, b) { b = typeof b !== ‘undefined’ ? b …

    JavaScript 2023年5月18日
    00
  • JavaScript中使用Object.create()创建对象介绍

    下面是详细讲解“JavaScript中使用Object.create()创建对象”的完整攻略。 1. Object.create()是什么? Object.create()是JavaScript中创建新对象的一种方法。它返回一个新对象,并将该对象的原型设置为指定的对象。具体来说,Object.create()接收一个参数,即作为新对象原型的对象。从该对象中继…

    JavaScript 2023年5月27日
    00
  • ES6中promise详解及用法实例

    ES6中promise详解及用法实例 什么是Promise Promise是一种异步编程解决方案,用于处理异步操作。它是ES6的新特性,旨在解决回调地狱的问题。Promise对象代表一个尚未完成,但预计在未来完成的异步操作。 Promise有三个状态:pending(等待中)、fulfilled(已完成)和rejected(已失败)。当Promise处于pe…

    JavaScript 2023年5月27日
    00
  • JavaScript中的动态 import()用法示例解析

    JavaScript中的动态import()用法 在JavaScript中,我们可以使用import()方法动态地加载模块。这种方式是ES6新增的特性,可以更灵活地控制模块的加载和使用。其语法结构如下: import(moduleName) .then(module => { // 加载成功后的处理 }) .catch(error => { //…

    JavaScript 2023年5月28日
    00
  • 基于element-ui 动态换肤的代码详解

    基于element-ui动态换肤的代码详解,其实主要是通过更改CSS样式来实现主题颜色的更换。 首先,我们需要借助element-ui提供的主题生成工具element-theme来生成我们需要的主题样式文件。 生成主题样式文件的具体步骤如下: 全局安装element-theme: npm install element-theme -g 在项目目录下新建th…

    JavaScript 2023年6月10日
    00
  • 改版了网上的一个js操作userdata

    改版了网上的一个js操作userdata,意味着我们要掌握如何在 JavaScript 中使用 localStorage API 操作本地存储空间。下面将从以下四个方面讲解完整攻略: localStorage 的概念和用法 基础操作:setItem 和 getItem 复杂数据结构的存储和读取 注意事项 1. localStorage 的概念和用法 loca…

    JavaScript 2023年6月11日
    00
  • jQuery 遍历json数组的实现代码

    当使用jQuery操作JSON数据时,我们需要使用 $.each() 或 $.map() 函数来遍历JSON对象或数组。以下是完整的攻略: 1.读取JSON数据 在使用jQuery遍历JSON数据前,我们需要先读取JSON数据。我们可以使用 $.getJSON() 函数从服务器读取JSON数据。 $.getJSON(‘/data.json’, functio…

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