如何使用JavaScript将HTML本地保存?


本教程将教你如何使用JavaScript将HTML本地保存。

什么是本地存储?

本地存储是指将内容本地存储在您的Web浏览器中。这意味着它会在您的计算机上占用空间来存储内容,而不是将其存储在Web应用程序的服务器上。它是一种默认包含所有浏览器的Web API。

本地存储通常存储应用程序数据、用户会话数据、身份验证令牌以及许多其他内容。在HTML5之前,开发人员使用cookie来本地存储HTML内容,但现在每个浏览器都有本地存储

此外,cookie只允许本地存储最多4kb的数据,这远小于本地存储。大多数浏览器允许本地存储5MB的数据,是cookie的1250倍。但是,每个浏览器本地存储数据的能力都不同。

在这里,我们解释了用户如何使用本地存储和会话存储来本地存储HTML内容。

使用localStorage对象

localStorage对象通过键值对将数据存储在用户的浏览器中。我们可以使用JavaScript创建键值对并将它们存储在本地存储中。作为值,我们可以存储HTML内容,例如图像内容、行内HTML内容等等。

语法

用户可以按照以下语法使用localStorage对象将HTML内容本地存储。

localStorage.setItem ( key, value ); // method to set the content in local storage.
let result = localStroage.getItem( key); // get content from local storage.
localStorage.removeItem( key ): // To remove item from local storage.
localStorage.clear( ); // to clear whole local storage.

参数

  • - localStorage将键映射到其值。我们可以为键分配任何值,例如字符串。通过使用键,我们将从本地存储中获取项目。

  • - 它可以包含任何内容,例如我们想要存储在本地存储中的HTML内容或字符串值。

示例

下面的示例演示了我们如何将项目存储在本地存储中,以及如何使用键从本地存储中获取项目。在这里,我们将行内HTML代码存储在本地存储中。

<!DOCTYPE html>
<html>
<head>
   <title> Example -Save HTML locally with JavaScript. </title>
</head>
<body>
   <h2> The localStorage Object. </h2>
   <p> The setItem() method saves data to local storage. </p>
   <div id="output"> </div>
   <script type="text/javascript">
      let output = document.getElementById( "output" );
      let key = "RowHTML";
      let HTMLcontent = " <div style='color: red; font -size:20px;'>TutorialsPoint</div> ";

      // store content to local storage
      let x = localStorage.setItem(key, HTMLcontent);

      // get item from local storage
      let result = localStorage.getItem(key);
      output.innerHTML ="The saved HTML content: " + result;
   </script>
</body>
</html>

在上例中,用户可以看到我们已将div元素存储在本地存储中。当我们从本地存储中获取div元素时,它会打印以上输出。

使用sessionStorage对象

sessionStorage与localStorage几乎相同,但在关闭浏览器后再次打开时,sessionStorage中的数据会刷新。因此,当您打开浏览器时,它会再次向服务器请求数据。

语法

用户应遵循以下sessionStorage语法。

sessionStorage.setItem ( key, value );
let result = sessionStroage.getItem( key);

参数

  • - 它映射到值。

  • - 我们想要存储在sessionStorage中的内容。

示例

在这个例子中,我们将使用sessionStorage来存储样式表和图标。基本上,我们演示了sessionStorage.setItem()sessionStorage.getItem( )方法与图像HTML内容的使用。

<!DOCTYPE html>
<html >
<head>
   <title> Example -Save HTML locally with JavaScript </title>
</head>
<body>
   <h2> The sessionStorage Object </h2>
   <p> Saving HTML content (Home Icon)to the session storage using the session.setItem() method. </p>
   <div id="output"> </div>
   <script type="text/javascript">
   let output = document.getElementById("output");

      // stylesheet for icon
      let key = "styleSheet";

      let styleSheetContet = '<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">';

      // store content to session storage
      sessionStorage.setItem(key, styleSheetContet);

      // appending style sheet for icon to head
      let style = sessionStorage.getItem(key);
      document.head.innerHTML += (style);

      // store icon to session storage
      sessionStorage.setItem("Icon", '<i class="fa fa-home"></i>')
      let icon = sessionStorage.getItem("Icon");

      // append icon to body
      output.innerHTML = "The saved HTML content: " + icon;
   </script>
</body>
</html>

在上例中,我们将样式表和图标的HTML代码存储在sessionStorage中。之后,我们使用getItem()方法从sessionStorage中访问它,并将样式表添加到<head>部分,并将图标添加到主体部分。用户可以看到上面家庭图标的输出。

结论

在本教程中,我们学习了两种将HTML本地保存的方法。一种是使用localStorage,另一种是使用sessionStoragelocalStorage不会删除数据,除非您手动删除它;而sessionStorage会在您关闭浏览器后清除所有数据。这两个对象的功能相同,但数据存储时间的限制不同。

更新于:2022年7月14日

5000+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告