鸿蒙HarmonyO开发实战-Web组件中的Cookie及数据存储

 更新时间:2024年06月01日 15:42:05   作者:蜀道山QAQ  
Cookie是一种存储在用户计算机上的小文本文件,用于在用户访问网站时存储和提取信息,它由网站服务器发送到用户的浏览器,并存储在用户的计算机上,每当用户访问该网站时,浏览器将发送该Cookie回服务器,以用于识别用户和存储用户的首选项和其他信息

前言

Cookie是一种存储在用户计算机上的小文本文件,用于在用户访问网站时存储和提取信息。它由网站服务器发送到用户的浏览器,并存储在用户的计算机上。每当用户访问该网站时,浏览器将发送该Cookie回服务器,以用于识别用户和存储用户的首选项和其他信息。

Cookie可以用于跟踪用户的行为,例如记录用户的浏览历史、购物车内容等。它可以存储用户的登录凭据,以便用户在下次访问网站时自动登录。Cookie还可以用于在会话之间存储临时数据,例如存储用户在网页表单中输入的数据。

除了Cookie,还有其他数据存储方式可供使用,例如Web Storage和IndexedDB。Web Storage是HTML5中引入的一种简单存储方案,可以在用户浏览器中存储键值对。IndexedDB是一种更复杂和功能更强大的浏览器数据库,可以用于存储结构化数据。这些数据存储方式可以提供更大的存储容量和更灵活的数据操作功能,但使用它们可能需要更多的编程工作。

Cookie管理

// xxx.ets
import web_webview from '@ohos.web.webview';

@Entry
@Component
struct WebComponent {
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  @State message: string = 'Hello World';
  build() {
    Column() {
      Button('setCookie')
        .onClick(() => {
          try {
            web_webview.WebCookieManager.setCookie('https://www.example.com', 'value=test');
          } catch (error) {
            console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
          }
        })
      Button('getCookie')
        .onClick(() => {
          try {
            let Cookie=web_webview.WebCookieManager.getCookie('https://www.example.com');
            this.message=Cookie.toString()
          } catch (error) {
            console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
          }
        })
      Text(this.message)
      Web({ src: 'www.example.com', controller: this.controller })
    }
  }
}

image

缓存与存储管理

Cache

网页缓存是指浏览器或代理服务器在第一次请求某个特定网页时,将其内容存储在本地的一种机制。当再次请求相同的网页时,浏览器或代理服务器会检查本地缓存是否存在该网页的副本,并从缓存中加载网页内容,而不是重新从服务器下载。这样可以提高网页加载速度和减轻服务器的负载。

网页缓存有助于提高用户的浏览体验,因为加载缓存的网页比从服务器下载更快。此外,网页缓存也可以帮助减少网络流量,节省带宽,降低服务器的负载压力。

开发人员可以根据实际需求,控制网页缓存的过期时间和验证方式,以确保用户能够获得最新的网页内容。

image

import web_webview from '@ohos.web.webview';

@Entry
@Component
struct WebComponent {
  @State mode: CacheMode = CacheMode.None;
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  build() {
    Column() {
      Button('removeCache')
        .onClick(() => {
          try {
            // 设置为true时同时清除rom和ram中的缓存,设置为false时只清除ram中的缓存
            this.controller.removeCache(true);
          } catch (error) {
            console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);
          }
        })
      Web({ src: 'www.example.com', controller: this.controller })
        .cacheMode(this.mode)
    }
  }
}

Dom Storage

Dom Storage是一种在Web浏览器中用于存储和检索数据的机制。它包含两种不同的存储类型:Session Storage和Local Storage。

Session Storage用于临时存储数据,其生命周期与浏览器会话相关联。当用户关闭浏览器标签或窗口时,Session Storage中的数据将被释放。Session Storage适用于在网页会话期间保存临时数据。

Local Storage用于持久化存储数据,即数据会保留在客户端,即使用户关闭浏览器也不会被删除。Local Storage的数据存储在应用目录下,可以在客户端之间共享。Local Storage适用于需要长期保存数据的场景。

无论是Session Storage还是Local Storage,数据都以Key-Value的形式存储。可以通过指定键来存储和检索数据。通常在需要在客户端存储数据的网页中使用Dom Storage。

使用Dom Storage,开发人员可以轻松地在浏览器中存储和获取数据,而无需使用服务器端的数据库或其他存储机制。这使得网页能够在离线状态下运行,并且可以更快地加载和呈现数据。

import web_webview from '@ohos.web.webview';

@Entry
@Component
struct WebComponent {
  controller: web_webview.WebviewController = new web_webview.WebviewController();
  build() {
    Column() {
      Web({ src: 'www.example.com', controller: this.controller })
        .domStorageAccess(true)
    }
  }
}

到此这篇关于鸿蒙HarmonyO开发实战-Web组件中的Cookie及数据存储的文章就介绍到这了,更多相关鸿蒙HarmonyO中的Cookie及数据存储内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Win10专业版激活方法步骤详解

    Win10专业版激活方法步骤详解

    这篇文章主要介绍了Win10专业版激活方法步骤详解,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 在HarmonyOS工程中添加Module的方法

    在HarmonyOS工程中添加Module的方法

    Module是HarmonyOS应用的基本功能单元,包含了源代码、资源文件、第三方库及应用清单文件,每一个Module都可以独立进行编译和运行。这篇文章主要介绍了在HarmonyOS工程中添加Module的方法,需要的朋友可以参考下
    2020-09-09
  • window下关闭占用端口使用方法详解

    window下关闭占用端口使用方法详解

    这篇文章主要介绍了window下关闭占用端口使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 红帽RedHat 8.0新特性(网络、yum源、Web界面管理等)

    红帽RedHat 8.0新特性(网络、yum源、Web界面管理等)

    这篇文章主要介绍了红帽RedHat 8.0新特性(网络、yum源、Web界面管理等),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 鸿蒙HarmonyO开发实战-Web组件中的Cookie及数据存储

    鸿蒙HarmonyO开发实战-Web组件中的Cookie及数据存储

    Cookie是一种存储在用户计算机上的小文本文件,用于在用户访问网站时存储和提取信息,它由网站服务器发送到用户的浏览器,并存储在用户的计算机上,每当用户访问该网站时,浏览器将发送该Cookie回服务器,以用于识别用户和存储用户的首选项和其他信息
    2024-06-06
  • Windows 10系统安装虚拟专用网客户端工具(图文教程)

    Windows 10系统安装虚拟专用网客户端工具(图文教程)

    本文通过图文并茂的形式给大家介绍了Windows 10系统安装虚拟专用网客户端工具,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • 制作纯净版的ghost系统的注意事项

    制作纯净版的ghost系统的注意事项

    制作纯净版的ghost系统的注意事项...
    2007-03-03
  • 浅谈云服务器下如何选择操作系统

    浅谈云服务器下如何选择操作系统

    在购买云服务器时,会有一个必选的配置,就是操作系统的选择,如何选择操作系统?操作系统选择错了怎么办?这是不少用户会遇到的问题,今天我们就来教大家如何选择操作系统,以及操作系统选择错了,该怎么切换。
    2021-05-05
  • win10设定计划任务时提示所指定的账户名称无效问题解析

    win10设定计划任务时提示所指定的账户名称无效问题解析

    这篇文章主要介绍了win10设定计划任务时提示所指定的账户名称无效问题解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 深入浅析华为鸿蒙IDE安装与Hello World

    深入浅析华为鸿蒙IDE安装与Hello World

    这篇文章主要介绍了华为鸿蒙IDE安装与Hello World的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-09-09

最新评论