Используя window.name как локальный кэш данных в веб-браузерах

Я читал о cookie и других связанных клиентских возможностях хранения, и читайте об использовании window.name как своего рода кэш данных:

http://en.wikipedia.org/wiki/HTTP_cookie#window.name

В то время как это, конечно, имеет вещи, которые делают это менее желательным - и я не буду сахар покрыть его, это - определенно взлом в самом истинном смысле того слова - это выглядит многообещающим. У меня есть потребность сохранить о 10K JSON как клиентский кэш, прямо сейчас я отправляю его вниз со страницей и когда я читал об этом, кажется, что это могло бы на самом деле соответствовать моим потребностям и уменьшить трафик.

Мне любопытно видеть, реализовал ли кто-либо это, и какой совет Вы могли возможно дать. Ловушки? Рекомендации? Различия между браузерами? Своего рода случай использования, который был бы действительно тяжел?

Профессионалы

  • Локальное устройство хранения данных
  • Доступный в в основном каждом браузере, который поддерживает JavaScript

Недостатки

  • Только строки поддержек
  • Проблемы XSS
  • отравление window.name
  • Информация, просачивающаяся в другие сайты

Альтернативы

14
задан 4 revs 12 January 2010 в 16:06
поделиться

2 ответа

Есть много способов хранения локальных данных, Flash LSO, HTML 5 локального хранения, файлов cookie. Google Gears. Посмотрите на Persistjs , клиентская библиотека JS, которая просто сделает это.

Этот пост в Ajaxian разрабатывает немного больше об этом.

5
ответ дан 1 December 2019 в 16:24
поделиться

Похоже, что это впервые реализовано здесь: http://www.thomasfrank.se/sessionvars.html .

Однако, если этот метод станет популярным, я готов поспорить, что браузеры в конечном итоге решат его из-за унаследованной уязвимости к XSS.

Более долгосрочным решением, вероятно, будет: http://en.wikipedia.org/wiki/DOM_storage , который вырос из спецификации HTML 5 (самый большой недостаток - отсутствие обратной совместимости для браузеров до IE 8).

2
ответ дан 1 December 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: