Я тоже сторонник кроссбраузерной верстки. В крайнем случае, можно использовать условные комментарии для IE, и это очень в редких случаях. За несколько лет ни разу не столкнулся с такой проблемой, чтобы подобный скрипт смог пригодиться.
Вообще, изначально речь шла о хранилище данных на стороне клиента, пусть даже и виртуальном. А способов реализовать сие масса. Тут надо смотреть на сам проект и делать выбор.
Я думаю — это не та проблема, на которой стоит акцентировать внимание. Походите по любому, как вы сказали, более традиционному сайту, и посмотрите сколько запросов на страницу клиент отправляет к серверу. Изображения, я думаю, перевесят то, что мы обсуждаем.
Кстати, в заголовке сразу можно подгружать text/javascript, обращаясь к storage.php, который будет выводить не строку JSON, а уже var storage={...} в готовом виде. Тогда точно можно не ждать загрузки всей страницы :)
у чисто клиентского хранилища есть большой недостаток — его никак не почистить с сервера, если данные вдруг устареют.
Согласен, но я привел пример, где данные от сервера совершенно никак не зависят. Сервер тут не причем.
до громоздкого приложения запрос в любом случае не долетит, зато клиенту не надо будет делать еще один запрос, который начинает выполняться только после полной загрузки оболочки.
А клиент и так делает всего один запрос — именно к storage.php, так как все остальное, в том числе и сама страница, уже находится в кэше браузера. Кстати, никто не мешает делать асинхронный запрос к хранилищу не после всей загрузки страницы, а лишь после загрузки необходимых JS-библиотек.
Вы не находите, что этот вариант более сложный, чем тот, который предлагаю я (и еще более сложный, чем то же HTML5-хранилище на стороне клиента)? Как минимум потому, что у вас кэш будет засоряться временными, по сути, ненужными файлами.
иначе никакого смысла в оптимизации оболочки нет — у вас все равно на каждой странице запрос к php.
Очень даже есть, так как у меня не грузится громоздкое серверное приложение, а всего лишь скрипт из неск. строк. А memcache можно попробовать использовать, спасибо, но я думаю, особого выигрыша не будет для объема данных в пару Кб (могу и ошибаться).
Если вы имеете в виду статический кэш страниц, то это, конечно, очень помогло. После внесения изменений в базу можно принудительно запустить обновление всего кэша в фоновом режиме.
Идея данного решения ко мне пришла определенное время назад. Да, несомненно, HTML5 предлагает мощные решения. Но, увы, на данный момент еще есть браузеры, которые это понимают плохо или не понимают вообще :).
Спасибо, подобного комментария я и ожидал. Хороший плагин. Но относительно тяжелый. Удивлен, что он не предлагает использовать механизм сессии сервера.
К сожалению, из всех предложенных автором вариантов хранилищ, пожалуй, можно остановиться на новой спецификации HTML — 5. От варианта с флешем я давно отказался, так как он не поддерживается, например, активно распространяющимися iPhone и iPad.
Полностью поддерживаю. Кроме того, очень занимательно обратить внимание на то, сколько памяти кушает 4 и 5 версии (6 пока не проверял) по сравнению с 3.
Почему же перемешалось? Прогресс человечества ведь от лени. Развиваются парадигмы программирования высокого уровня. Так и должно быть. Но это ни коем образом не отстраняет от ответственности знать хотя бы основы низших уровней.
Я всегда компоную энное количество подключаемых внешних js-файлов (в том числе сам jQuery и все необходимые плагины) в один большой, удаляю лишние комментарии и пробелы, а еще сжимаю в gzip. Считаю, это лучший вариант подключения — ни от кого не зависишь. Плюс вырастает скорость загрузки страниц сайта.
Очень даже есть, так как у меня не грузится громоздкое серверное приложение, а всего лишь скрипт из неск. строк. А memcache можно попробовать использовать, спасибо, но я думаю, особого выигрыша не будет для объема данных в пару Кб (могу и ошибаться).
К сожалению, из всех предложенных автором вариантов хранилищ, пожалуй, можно остановиться на новой спецификации HTML — 5. От варианта с флешем я давно отказался, так как он не поддерживается, например, активно распространяющимися iPhone и iPad.