Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Помогите с chrome.storage (https://javascript.ru/forum/css-html/83000-pomogite-s-chrome-storage.html)

Dmitry1988 24.08.2021 10:01

Помогите с chrome.storage
 
Здравствуйте, я чайник в js, задача простая. Помогите, пожалуйста, переделать код так, чтобы вместо localStorage использовался chrome.storage. Это должна быть часть приложения для chrome, в нем localStorage не работает. Здесь он встречается в функциях checkCart и saveCartToLS



var cart = {}; //корзина


$.getJSON('goods.json', function(data){
var goods = data;
console.log(goods)

checkCart();

//console.log(cart);
showCart();

function showCart(){
if ($.isEmptyObject(cart)) {
var out = '<h4>Корзина пуста. Добавьте товар в корзину. <a href="index.html"><i> перейти на главную страницу </i></a></h4> ';
$('#my-cart').html(out);
$('#ready').hide();
}
else {
var out='';
for (var key in cart){
out += '<div class="single-goods">';
out+='<h3>'+goods[key].name+'</h3>';
out+='<p>'+goods[key].description+'</p>';
out += '<img src="'+goods[key].image+'">';
out += '</br>';
out += '<table class="yellow">';
out += '<tr>';
out += '<th>'+'&nbsp'+'<th>';
out += '<th>'+'<button type="button" class="btn btn-danger delete" data-art="'+key+'">Удалить</button>'+'<th>';
out += '<th>'+'&nbsp'+'<th>';
out += '<th>'+'<button type="button" class="btn btn-info minus" data-art="'+key+'">-</button>'+'<th>';
out += '<th>'+cart[key]+'шт.'+'</th>' ;
out += '<th>'+'<button type="button" class="btn btn-info plus" data-art="'+key+'">+</button>'+'<th>';
out += '<th>'+'сумма &nbsp'+cart[key]*goods[key].cost+'₽'+'</th>';
out += '</tr>';
out +='</table>';
out += '</div>';
}
$('#my-cart').html(out);
$('.plus').on('click', plusGoods);
$('.minus').on('click', minusGoods);
$('.delete').on('click', deleteGoods);
}
var cartlist = (JSON.stringify(cart));
spisok.value = cartlist;
$('#spisok').html(cartlist);

}
function plusGoods() {
var articul = $(this).attr('data-art');
cart[articul]++;
saveCartToLS();
showCart();
}
function minusGoods() {
var articul = $(this).attr('data-art');
if (cart[articul]>1) cart[articul]--;
else delete cart[articul];
saveCartToLS();
showCart();
}
function deleteGoods() {
var articul = $(this).attr('data-art');
delete cart[articul];
saveCartToLS();
showCart();
}
});

function checkCart(){
//проверяю наличие корзины в local storage
if (localStorage.getItem('cart') !=null) {
cart =JSON.parse (localStorage.getItem('cart'));
}
}
function saveCartToLS(){
localStorage.setItem('cart', JSON.stringify(cart) );
}
function showSubmit() {
$("#submit").show()
$('#ready').hide()
}

$('#ready').on('click', showSubmit);

Rise 24.08.2021 23:41

Dmitry1988, chrome.storage


Часовой пояс GMT +3, время: 09:48.