У меня есть iframe, который я пытаюсь интегрировать с Storage Access API на https://developer.mozilla.org/en-US/docs/Web/API/Storage_Access_API
html для iframe выглядит следующим образом:
<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 url https://dev.mysite.io/auth/iframe.html
и проверьте localStorage, он содержит все нужные элементы.
Почему локальное хранилище моего (await hasStorageAccess()) === true
iframe отличается от вкладки с тем же URL-адресом?