gpt4 book ai didi

javascript - 测试 localStorage 是否已满

转载 作者:行者123 更新时间:2023-11-30 17:37:56 24 4
gpt4 key购买 nike

我正在学习 localStorage,听起来每个浏览器都给了一个域 5MB。

我编写这段代码来缓存从 ajax 调用返回的数据并且它有效。但是如何测试 localStorage 是否已满?如果没有可用的 localStorage 空间,我认为应该再次发出 ajax 请求。

这是我的代码:

if ( localStorage && localStorage.getItem('myGithub') ) {
console.log('if statement');
console.log( JSON.parse( localStorage.getItem( 'myGithub') ) );
render( JSON.parse( localStorage.getItem( 'myGithub') ) );
}
else {
console.log('else statment');
$.ajax({
url : 'https://api.github.com/users/xxxxxxxxx',
dataType : 'json',
success : function (data) {
if ( localStorage ) {
localStorage.setItem( 'myGithub', JSON.stringify(data) );
}
console.log(data);
render(data);
}
});
}

//Render method for printing the results to the <body> element.
//Returns html from the ajax call or from localStorage.
function render (myObjx) {
var results = '';

for (var prop in myObjx) {
results += '<p>data.' + prop + ' = ' + myObjx[prop] + '</p>';
}

var printData = $('body').html(results);
return printData;
};

最佳答案

您可以使用以下方法。您可以根据需要更改它。

function checkAvailable(){
var test = 'test';
try {
localStorage.setItem(test, test);
localStorage.removeItem(test);
return true;
} catch(e) {
return false;
}
}

// And you call below to check the availablity

if(checkAvailable() === true){
// available
}else{
// unavailable
}

关于javascript - 测试 localStorage 是否已满,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21664119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com