Как мне сделать так, чтобы мой сервер делал всю загрузку и JavaScript, а затем сервер все страницы готово - PullRequest
0 голосов
/ 25 мая 2011

У меня есть веб-страница, которая вызывает oracle, затем выполняет некоторую обработку, а затем много javascript.

Проблема в том, что все это замедляет работу пользователя. Мне нужно использовать Internet Explorer 6, поэтому загрузка javascript занимает очень много времени, около 15 секунд.

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

я использую tomcat server, моя веб-страница в основном javascript и html

редактирование: Кстати, я не могу переписать свою веб-страницу, она должна остаться такой, как есть

Я ищу что-нибудь, что дало бы пользователю снимок веб-страницы, загруженной сервером

Ответы [ 3 ]

0 голосов
/ 25 мая 2011

Рекомендации YSlow скажут вам, что вы должны поместить весь свой CSS в заголовок вашей страницы и весь JavaScript внизу, перед закрывающим тегом body.Это позволит странице полностью загрузить DOM и отобразить ее.

Вы также должны минимизировать и сжать свой JavaScript, чтобы уменьшить размер загрузки.

0 голосов
/ 26 мая 2011

"Как я могу заставить мой сервер делать все это каждую минуту, например"

Если вы спрашиваете, как сделать так, чтобы ваш сервер баз данных «предварительно выполнял» запрос, посмотрите на материализованные представления.

Если запрос Oracle отвечает (например) за 10 секунд задержки, могут быть другие способы, которые вы можете сделать, чтобы ускорить его, но нам потребуется гораздо больше информации о том, что делает запрос

0 голосов
/ 25 мая 2011

Для этого вам нужно, чтобы ваш сервер собирал DOM, запускал JavaScript в среде, которая выглядит (достаточно) как веб-браузер, а затем сериализировал результат в виде HTML.

Были различные попытки сделать это, Jaxer - одна из них (изначально это был продукт от Aptana, теперь проект Apache). Другой связанный здесь ответ на SO указывает на проект jsdom , который является реализацией DOM в JavaScript ( видео здесь ).

Re

Кстати, я не могу переписать свою веб-страницу, она должна остаться такой, как есть

Это вряд ли будет успешным. Должна быть некоторая модификация. По крайней мере, вам нужно будет сообщить вашей серверной платформе, какие части он должен обрабатывать, а какие следует оставить клиенту (например, код взаимодействия с пользователем).

Редактировать

Вы также можете искать «миниатюры веб-сайтов», такие как shrinktheweb.com и аналогичные. Их учетная запись «pro» позволяет создавать полноразмерные миниатюры (я не знаю, изображение это или HTML). Но я специально не предлагаю их, просто линия, которую вы можете использовать. Если вы можете найти проект, который делает миниатюры, вы сможете адаптировать его для того, что вы хотите.

Но, опять же, взгляните на Jaxer, вы можете обнаружить, что он делает то, что вам нужно или очень похоже (и это с открытым исходным кодом, так что вы можете изменить его или извлечь нужные биты).

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