文档:requestStorageAccessFor() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

Document 接口的 requestStorageAccessFor() 方法允许顶级站点代表源自同一相关网站集中另一个站点的嵌入内容请求第三方 Cookie 访问权限。它返回一个 Promise,如果访问权限被授予则解析,如果访问权限被拒绝则拒绝。

语法

js
requestStorageAccessFor(requestedOrigin)

参数

requestedOrigin

一个字符串,表示你请求第三方 Cookie 访问权限的来源 URL。

返回值

一个 Promise,如果第三方 Cookie 访问权限被授予则以 undefined 履行,如果访问权限被拒绝则拒绝。

除非顶级内容当前正在处理用户手势(例如点击或轻触)(瞬时激活),或者之前已授予权限,否则 requestStorageAccessFor() 请求将自动被拒绝。如果之前未授予权限,则它们必须在基于用户手势的事件处理程序中运行。用户手势行为取决于 Promise 的状态

  • 如果 Promise 解析(即,权限已授予),则用户手势未被消耗,因此脚本可以随后调用需要用户手势的 API。
  • 如果 Promise 被拒绝(即,权限未授予),则用户手势已被消耗,因此脚本不能执行任何需要手势的操作。这可以防止脚本在权限被拒绝时再次调用 requestStorageAccessFor()

异常

InvalidStateError DOMException

如果当前的 Document 尚未激活,则抛出此错误。

NotAllowedError DOMException

在以下情况下抛出