To fix HTML5 localStorage error with Safari: "QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota." with JavaScript, we check if the entry with the key can be saved.
For instance, we write
const isLocalStorageNameSupported = (testKey) => {
const storage = window.localStorage;
try {
storage.setItem(testKey, "1");
storage.removeItem(testKey);
return true;
} catch (error) {
return false;
}
};
to define the isLocalStorageNameSupported function.
In it, we get the testKey string and call setItem with it to see if we can save the entry with the key without error.
We call removeItem to remove the test entry.
If there’s an error we return false.