Javascript кеширующий вопрос - PullRequest
2 голосов
/ 02 декабря 2009

Я делаю приложение, которое рисует много виджетов и плиток на холсте. Основной пользовательский интерфейс будет определяться длинной строкой символов и отрисовываться при загрузке страницы с помощью javascript. Так как этот основной пользовательский интерфейс большой,> 250 КБ, и никогда не меняется, какой хороший способ кешировать это?

Я знаю, что МОГУТ просто вставить его в переменную вверху файла, но есть ли более эффективный способ? Как будто написал:

var img = new Image (); img.src = 'moose.png'

Я предполагаю, что браузер загрузит и кеширует это изображение, чтобы при последующих запросах ему не приходилось снова подключаться к моему серверу. Но как мне сделать это с куском текста?

РЕДАКТИРОВАТЬ: в основном я ищу альтернативу этому:

var myUI = "AAAABBBCBVBVNCNDGAGAGABVBVB .... и т. д. примерно на 20 страниц";

Ответы [ 5 ]

2 голосов
/ 03 декабря 2009

Вы можете создать файл JavaScript, содержащий строку текста.

var text='.....';

Тогда вы можете просто включить скрипт:

<script src="/ui.initialization.js" type="text/javascript"></script>

Далее следует любой другой javascript, который вы используете для визуализации пользовательского интерфейса. Браузер кэширует файл js.

EDIT

Я предполагаю, что вы против использования длинной строки текста inline . Перемещая его в отдельный файл, вы разрешаете браузеру кэшировать его (если он действительно статический и , ваш сервер настроен с надлежащим управлением кэшированием статических ресурсов).

Вот некоторая информация для настройки кэширования на Apache (я предполагаю, что вы используете PHP на Apache).

0 голосов
/ 03 декабря 2009

Используйте Скорость страницы Google или YSlow , чтобы выяснить, какие другие (HTTP) улучшения можно сделать.

0 голосов
/ 03 декабря 2009

Вы можете использовать Google Gears или новые HTML 5 хранилища данных функции, поддерживаемые FF 3.5 и др.

0 голосов
/ 03 декабря 2009

время загрузки 250K при скорости выше 1 Мбит / с составляет <1 секунда ... это проблема для вас? </p>

И тот самый файл, который вы загружаете, который содержит этот javascript с багажом 250 КБ, будет, вероятно, кэшироваться сам.

0 голосов
/ 03 декабря 2009

Большинство статических ресурсов могут кэшироваться браузером. Просто поместите ваши данные в .txt, .dat, .xml или что-то еще (даже в .js) и загрузите их с вашим JavaScript через AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...