Câu trả lời:
Sử dụng điều này để xóa localStorage:
localStorage.clear();
clear()
sẽ xóa tất cả các khóa và giá trị localStorage khỏi tên miền cụ thể mà bạn đang sử dụng. Javascript không thể nhận các giá trị localStorage từ bất kỳ tên miền nào khác do CORS.
Nếu bạn muốn xóa một Mục hoặc biến cụ thể khỏi bộ nhớ cục bộ của người dùng, bạn có thể sử dụng
localStorage.removeItem("name of localStorage variable you want to remove");
var key; for (var i = 0; i < localStorage.length; i++) { key = localStorage.key(i); if(key != particularKey){ localStorage.removeItem(key); } }
let tmp = localStorage.getItem('<your-name>'); localStorage.clear(); localStorage.setItem('<your-name>')
window.localStorage.clear(); //try this to clear all local storage
Đây là một chức năng sẽ cho phép bạn loại bỏ tất cả các mục localStorage với các ngoại lệ. Bạn sẽ cần jQuery cho chức năng này. Bạn có thể tải xuống ý chính .
Bạn có thể gọi nó như thế này
let clearStorageExcept = function(exceptions) {
let keys = [];
exceptions = [].concat(exceptions); // prevent undefined
// get storage keys
$.each(localStorage, (key) => {
keys.push(key);
});
// loop through keys
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
let deleteItem = true;
// check if key excluded
for (let j = 0; j < exceptions.length; j++) {
let exception = exceptions[j];
if (key == exception) {
deleteItem = false;
}
}
// delete key
if (deleteItem) {
localStorage.removeItem(key);
}
}
};
undefined
là một khóa hợp lệ cho setItem
vàgetItem
localStorage.setItem(undefined, 'example Txt!')
, sẽ lưu trữ nó dưới khóa được gọi 'undefined'
như bạn có thể thấy khi bạn chạy mã sau đây. console.log(localStorage.getItem('undefined'))
sẽ đầu ra example Txt!
.
Localst Storage được gắn trên toàn cầu window
. Khi chúng tôi đăng nhập lưu trữ cục bộ trong các devtools chrome, chúng tôi thấy rằng nó có các API sau:
Chúng tôi có thể sử dụng các API sau để xóa các mục:
localStorage.clear()
: Xóa toàn bộ lưu trữ cục bộlocalStorage.removeItem('myItem')
: Để xóa các mục riêng lẻTrước tiên, bạn cần kiểm tra để đảm bảo rằng localStorage được bật. Tôi khuyên bạn nên làm như thế này:
var localStorageEnabled = false;
try { localStorageEnabled = !!localStorage; } catch(e) {};
Có, bạn có thể (trong một số trường hợp) chỉ cần kiểm tra xem localStorage có phải là thành viên của đối tượng cửa sổ không. Tuy nhiên, có các tùy chọn hộp cát iframe (trong số những thứ khác) sẽ ném ngoại lệ nếu bạn thậm chí cố gắng truy cập vào chỉ mục 'localStorage'. Do đó, vì lý do thực hành tốt nhất, đây là cách tốt nhất để kiểm tra xem liệu LocalStorage có được bật hay không. Sau đó, bạn có thể xóa localStorage như vậy.
if (localStorageEnabled) localStorage.clear();
Ví dụ: bạn có thể xóa localStorage sau khi xảy ra lỗi trong trình duyệt webkit như vậy.
// clears the local storage upon error
if (localStorageEnabled)
window.onerror = localStorage.clear.bind(localStorage);
Trong ví dụ trên, bạn cần .bind(window)
bởi vì không có nó, localStorage.clear
hàm sẽ chạy trong ngữ cảnh của window
đối tượng, thay vì localStorage
đối tượng làm cho nó âm thầm thất bại. Để chứng minh điều này, hãy xem ví dụ dưới đây:
window.onerror = localStorage.clear;
giống như:
window.onerror = function(){
localStorage.clear.call(window);
}
Nếu bạn muốn xóa tất cả các mục bạn đã lưu trữ trong localStorage thì
localStorage.clear();
Sử dụng này để xóa tất cả các khóa được lưu trữ.
Nếu bạn muốn xóa / chỉ xóa khóa / giá trị cụ thể thì bạn có thể sử dụng removeItem (khóa) .
localStorage.removeItem('yourKey');
localStorage.clear();
hoặc là
window.localStorage.clear();
để xóa mục cụ thể
window.localStorage.removeItem("item_name");
Để xóa giá trị cụ thể theo id:
var item_detail = JSON.parse(localStorage.getItem("key_name")) || [];
$.each(item_detail, function(index, obj){
if (key_id == data('key')) {
item_detail.splice(index,1);
localStorage["key_name"] = JSON.stringify(item_detail);
return false;
}
});
Đây là một mã đơn giản sẽ xóa lưu trữ cục bộ được lưu trữ trong trình duyệt của bạn bằng cách sử dụng javascript
<script type="text/javascript">
if(localStorage) { // Check if the localStorage object exists
localStorage.clear() //clears the localstorage
} else {
alert("Sorry, no local storage."); //an alert if localstorage is non-existing
}
</script>
Để xác nhận xem localst Storage có trống không, hãy sử dụng mã này:
<script type="text/javascript">
// Check if the localStorage object exists
if(localStorage) {
alert("Am still here, " + localStorage.getItem("your object name")); //put the object name
} else {
alert("Sorry, i've been deleted ."); //an alert
}
</script>
nếu nó trả về null thì lưu trữ cục bộ của bạn sẽ bị xóa.
Mã này ở đây bạn đưa ra một danh sách các chuỗi khóa mà bạn không muốn xóa, sau đó nó sẽ lọc chúng từ tất cả các khóa trong bộ nhớ cục bộ sau đó xóa các khóa khác.
const allKeys = Object.keys(localStorage);
const toBeDeleted = allKeys.filter(value => {
return !this.doNotDeleteList.includes(value);
});
toBeDeleted.forEach(value => {
localStorage.removeItem(value);
});