Написал тут функцию для сохранения просмотренных товаров, может поможете с оптимизацией ? Первый раз использую localstorage
$(function() {
var id = $('#product_cod').attr('rel');
view_old = localStorage.getItem('view_old'),
$add = {'id' : id, 'time': new Date() },
number = 18,
find = false;
$json = error(view_old, $add); if (!$json) return false;
$.each($json, function(i, item) {
if ($json[i].id == id && find == false) {
$json[i].time = new Date();
find = true;
}
if (i >= number)
$json.splice(number, 1);
});
if(find == false) {
$json.splice(0, 0, $add);
}
localStorage.setItem('view_old', JSON.stringify($json));
function error(date, $add){
try {
$json = $.parseJSON(date);
if ($json == null) {
$json = [ $add ] ;
localStorage.setItem('view_old', JSON.stringify( $json ));
} else
return $json;
} catch(error) {
console.log('error='+ date);
return false;
}
}
});