GWT javascript фоновая загрузка - PullRequest
0 голосов
/ 17 февраля 2012

Я использую GWT для создания мобильного веб-приложения.

Когда я вызываю приложение в мобильном браузере с мобильным интернет-соединением, загрузка JavaScript, генерируемого GWT, занимает много времени.

Итак, я хочу изменить его таким образом, чтобы я сначала отправил стартовую HTML-страницу клиенту и загрузил GWT-javascript в фоновом режиме.

Возможно ли это?

Ответы [ 3 ]

2 голосов
/ 17 февраля 2012

Я думаю, вы должны разбить свой код, вы можете найти об этом здесь: Руководство разработчика - Разделение кода .
Если у вас большое приложение, вы должны использовать его иначе, все приложение (i.e.javascript bundle) загружается в один блок при начальной загрузке приложения. И это поможет вам уменьшить загрузку исходного кода. Посмотрите, каким будет результат после разделения кода: enter image description here

1 голос
/ 17 февраля 2012

Есть две вещи:

  1. Ускорение загрузки начальной страницы: поместите <script> внизу HTML-страницы.

  2. Если код GWT большой, вы можете разделить его на более мелкие куски и загрузить по требованию.Это происходит автоматически, если вы используете GWT-код разделения .

1 голос
/ 17 февраля 2012

Я действительно не знаю о мобильных приложениях, но в приложении GWT javascript загружается на html-страницу внутри тега script:

<!--                                           -->
<!-- This script loads your compiled module.   -->
<!-- If you add any GWT meta tags, they must   -->
<!-- be added before this line.                -->
<!--                                           -->
<script type="text/javascript" language="javascript" src="application/application.nocache.js"></script>

Если вы хотите, чтобы что-то появилось до загрузки javascript, просто поместите его на эту страницу в формате html. пример:

<!--                                           -->
<!-- The body can have arbitrary html, or      -->
<!-- you can leave the body empty if you want  -->
<!-- to create a completely dynamic UI.        -->
<!--                                           -->
<body>

<!-- OPTIONAL: include this if you want history support -->
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>

<!-- RECOMMENDED if your web app will not function without JavaScript enabled -->
<noscript>
  <div style="width: 22em; position: absolute; left: 50%; margin-left: -11em; color: red; background-color: white; border: 1px solid red; padding: 4px; font-family: sans-serif">
    Your web browser must have JavaScript enabled
    in order for this application to display correctly.
  </div>
</noscript>

<!-- Loading indicator -->
<div id="loading">
  <div class="loading-indicator">
  <img src="images/loadingStar.gif" width="40" height="40" />Application Name<br />
<span id="loading-msg">Loading...</span></div>
</div>

<!--                                           -->
<!-- This script loads your compiled module.   -->
<!-- If you add any GWT meta tags, they must   -->
<!-- be added before this line.                -->
<!--                                           -->
<script type="text/javascript" language="javascript" src="application/application.nocache.js"></script>

Здесь тег div помещает gif загрузки на страницу, которая появляется, пока не будет загружен весь gwt javascript. Вы можете разместить на этой странице все, что захотите, перед загрузкой JavaScript.

Затем в вашем приложении (при загрузке модуля) замените содержимое корневой панели на ваше приложение !!

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