files/en-us/web/api/document/hasstorageaccess/index.md
{{APIRef("Storage Access API")}}
The hasStorageAccess() method of the {{domxref("Document")}} interface returns a {{jsxref("Promise")}} that resolves with a boolean value indicating whether the document has access to third-party, unpartitioned cookies.
This method is part of the Storage Access API.
[!NOTE] This method is another name for {{DOMxRef("Document.hasUnpartitionedCookieAccess()")}}. There are no current plans to remove this method in favor of {{DOMxRef("Document.hasUnpartitionedCookieAccess()")}}.
hasStorageAccess()
None.
A {{jsxref("Promise")}} that resolves with a boolean value indicating whether the document has access to third-party cookies — true if it does, and false if not.
The result returned by this method can be inaccurate in a couple of circumstances:
true may be returned even though third-party cookies are still inaccessible. To handle such a situation, you should gracefully handle any errors resulting in cookie values being unretrievable; for example, inform the user that access to their personalized settings is blocked and invite them to sign in again to use them.false may be returned even though third-party cookies are accessible, and storage access wouldn't need to be requested (i.e., via {{domxref("Document.requestStorageAccess()")}}). To get around this issue, you could query {{domxref("Document.cookie")}} to find out whether your cookies are accessible, and call {{domxref("Document.requestStorageAccess()")}} if they are not.[!NOTE] If the promise gets resolved and a user gesture event was being processed when the function was originally called, the resolve handler will run as if a user gesture was being processed, so it will be able to call APIs that require user activation.
InvalidStateError {{domxref("DOMException")}}
document.hasStorageAccess().then((hasAccess) => {
if (hasAccess) {
// storage access has been granted already.
console.log("cookie access granted");
} else {
// storage access hasn't been granted already;
// you may want to call requestStorageAccess().
console.log("cookie access denied");
}
});
[!NOTE] See Using the Storage Access API for a more complete example.
{{Specifications}}
{{Compat}}