[英]Uncaught (in promise) TypeError: localStorage.setItem is not a function
我想用 localstorage 創建一個項目,但是當我用setItem
保存它時,錯誤顯示如下:
未捕獲(承諾)TypeError:localStorage.setItem 不是 function
這是我的代碼:
var dataPerson = {
name: "Jhon",
old: 20,
family: "Doe",
};
console.log(dataPerson);
if (typeof(Storage) !== "undefined") {
// Store
localStorage.setItem("data", JSON.stringify(dataPerson));
} else {
alert("Sorry, your browser does not support Web Storage...");
}
我用的是jQuery v3.4.1,謝謝
您可以嘗試從window
object 調用localStorage
...
window.localStorage.setItem("data", JSON.stringify(dataPerson));
這對我有用。
如果您在其他地方重新定義了 localStorage,請再次檢查您的代碼。
該代碼完全有效。 https://stackblitz.com/edit/js-jpzvta?embed=1&file=index.js
來自https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage :
例外情況
SecurityError 請求違反了策略決定,或者源不是有效的方案/主機/端口元組(例如,如果源使用文件:或數據:方案,就會發生這種情況)。 例如,用戶可能將其瀏覽器配置為拒絕為指定來源保留數據的權限。
所以你應該用 try-catch 包裹你的代碼,這將解決你的問題
未捕獲(承諾)TypeError:localStorage.setItem 不是 function
在https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API中,你有一個例子,考慮到你的特殊例外,我首先
特征檢測localStorage
要能夠使用localStorage,我們首先要驗證它在當前瀏覽session中是否被支持和可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.