Показать сообщение отдельно
  #7 (permalink)  
Старый 21.09.2015, 22:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Значит сохранение не для вашего случая.

И вряд ли такое

img: getBase64Image(images[i]),
id: images[i].id || ''

удачное решение, потому, что если вы хотите загружать сохраненное онлайн/оффлайн, то нужно проверять если ли сохраненное, и если есть, то получать сохраненное, иначе загружать по сети. А как проверять? Как раз и нужен идентификатор, то есть лучше так

images[i].id : getBase64Image(images[i]).

Но это еще не все, если на сервере изображение обновится, то клиент загрузит не новое, а сохраненное. То есть проверка по ID не решение в этом случае, нужно как-то знать еще, что изображение обновлено сервером. Если именовать изображения например как md5(временная метка), то в этом случае достаточно будет проверить свойство images[i].id, и если оно не равно сетевому имени, то загрузка и сохранение нового. Но чтобы это проверить, src изображения на странице должно быть указано, а это означает загрузка его по сети, то есть сохранение теряет смысл, если ее предварительно не блокировать.

Кроме localStorage существует и sessionStorage, и чтобы не забивать компьютер пользователя, может быть лучше использовать его. Если же серьезно рассматривать онлайн/оффлайн, то лучше автономное приложение.
Ответить с цитированием