Хорошая или плохая идея: загрузить базу данных в виде отдельного файла .js - PullRequest
1 голос
/ 02 ноября 2010

У меня есть веб-страница, где вы можете настроить своего игрового персонажа. Чтобы ускорить просмотр (gems), я загружаю всю базу данных gems (600 записей, 247 КБ) в виде отдельного файла .js, поэтому его можно кэшировать, и мне не нужно загружать его каждый раз.

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

К вашему сведению: я использую ASP.NET MVC 2.0, здесь загружается скрипт:

<script type="text/javascript" src='./Data.aspx/Gems'></script>

А вот и действие:

[OutputCache(Duration = 14400, VaryByParam = null)]
public ActionResult Gems() {...}

РЕДАКТИРОВАТЬ: Моя главная проблема не время загрузки, а использование памяти. Будет ли это иметь заметный эффект, если браузер загружает / анализирует около 250 Кбайт JavaScript?

Ответы [ 3 ]

2 голосов
/ 02 ноября 2010

Я нахожу это довольно хорошей идеей. Кроме того, если вам когда-либо понадобится «обновить» базу данных GEMS, вы можете просто загрузить сценарии с тегом версии, таким как

 <script type="text/javascript" src='./Data.aspx/Gems?v=1232'></script>

Где v=123 заставит пользователя загрузить новую версию, если требуется.

1 голос
/ 02 ноября 2010

Я предполагаю, что страница не будет работать до тех пор, пока скрипт не будет полностью загружен, но чтобы страница чувствовала себя быстрее, вы должны загрузить javascript внизу страницы .

0 голосов
/ 02 ноября 2010

Встраивание данных в виде скрипта приведет к тому, что браузер остановит загрузку страницы, пока файл скрипта не будет загружен и проанализирован.

Если вы выбираете статический скрипт или файл данных, используя ajax, браузер должен его кэшироватькак если бы это был встроенный скрипт, поэтому нет недостатка в использовании ajax, и вам не нужно беспокоиться о замедлении загрузки страницы.

...