我有网站a.com,其中有一个 iframe 加载b.com。为了让浏览器在 Safari 中保存来自 b.com 的 cookie,我必须访问 Storage Access API。这需要用户与 iframe 中的内容进行交互。问题是没有检测到使用b.com的用户手势,并且requestStorageAccess()
自动被拒绝。当我在单独的选项卡中打开b.com并与之交互,然后返回到a.com时, requestStorageAccess() 在处理用户手势时成功发出请求。
我想了解为什么用户在iframe 中与 b.com 交互而不去 b.com 本身是不够的。
我得到的错误是:
[ITP] Cannot grant storage access to 'b.com' since its cookies are blocked in third-party contexts and it has not received user interaction as first-party.
存储访问 API:https: //webkit.org/blog/8124/introducing-storage-access-api/ requestStorageAccess():https ://developer.mozilla.org/en-US/docs/Web/API/Document/请求存储访问