簡體   English   中英

未捕獲(承諾)TypeError:localStorage.setItem 不是 function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM