Storage Access API 介绍

Web 应用程序经常需要访问本地存储,以便在离线状态下提供更好的用户体验。传统上,网页开发人员使用cookie、localStorage或sessionStorage来实现本地存储。然而,在一些浏览器中,这些方法被限制为同源策略,这意味着只有在网页与存储数据的域名相同时才能使用。这意味着如果你的应用程序需要将数据传递给不同的子域,就需要使用其他方式来存储数据。

幸运的是,现在有一个新的API,叫做Storage Access API,它可以让开发人员轻松地访问不同子域之间的本地存储。

Storage Access API 是什么?

Storage Access API 允许 Web 应用程序请求用户授权来访问跨域站点上的第三方存储。这个API允许开发者通过调用一个新的 JavaScript API 来请求对某个特定网站的存储访问权限,使得跨域站点可以共享本地存储。这种方法可以让不同子域之间的网站共享存储空间,从而帮助开发人员在多个子域之间更容易地共享数据。

如何使用 Storage Access API

使用 Storage Access API 简单明了。首先,您需要向用户请求访问权限。这可以通过调用 StorageAccess.request() 方法来完成,例如:

----- -------- ---------------------- -
  ----- ------------- - ----- ------------------------
  -- -------------- --- ---------- -
    -------------------- ------ ----------
    -- ---------
  - ---- -
    -------------------- ------ ---------
  -
-

上面的代码会显示一个提示框,询问用户是否授权访问存储数据。如果用户同意,则将授予对该站点的存储访问权限,并且应用程序可以使用其他 Storage API(如 localStorage 和 sessionStorage)来保存和检索数据。如果用户拒绝,则不会允许访问存储。

示例代码

假设你有两个不同的网站 https://app1.example.comhttps://app2.example.com,你想在这两个网站之间共享数据。首先,你需要为这两个子域分别添加以下 meta 标记到他们的 HTML 中:

----- ------------------------------------ ------------------------------------- --------------
----- --------------------------------------- ----------------------

然后,在 https://app1.example.com 中,你需要请求访问 https://app2.example.com 的存储:

----- -------- ---------------------- -
  ----- ------------- - ----- -----------------------
    ------- --------------------------
  ---
  -- -------------- --- ---------- -
    -------------------- ------ ----------
    -- ---------
  - ---- -
    -------------------- ------ ---------
  -
-

一旦授权被授予,你就可以使用 localStorage 或其他 Storage API 来存储和检索数据了。

结论

Storage Access API 是一个强大的新工具,可以帮助Web开发人员更轻松地访问不同子域之间的本地存储。通过使用 Storage Access API,您可以在多个子域之间轻松地共享数据,并提供更好的用户体验。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/31729