2

我有一个 iframe,我正在尝试在https://developer.mozilla.org/en-US/docs/Web/API/Storage_Access_API上集成存储访问 API

iframe 的 html 如下:

<iframe 
  src="https://dev.mysite.io/auth/iframe.html" 
  sandbox="allow-storage-access-by-user-activation allow-scripts allow-same-origin" 
  frameborder="0"
></iframe>

在我的 iframe 中有以下脚本代码:

if ("hasStorageAccess" in document) {
    console.log("Checking Access API")
    document.hasStorageAccess().then((granted) => {
        if (granted) {
            console.log(localStorage);
        } else {
            // request access code omitted
            console.log("Requires storage access request");
        }
    })
} else {
    console.log("Storage Access API not available")
}

当此脚本运行时,它显示已授予访问权限,但输出一个空的 localStorage。

如果我按照 iframe urlhttps://dev.mysite.io/auth/iframe.html并检查 localStorage,它包含所有正确的项目。


(await hasStorageAccess()) === true为什么我的iframe 和完全相同 url 的选项卡之间的本地存储不同?

4

0 回答 0