Как вы отсоедините свою загрузку страницы от сторонних скриптов? - PullRequest
0 голосов
/ 18 мая 2010

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

как

= /

Ответы [ 3 ]

3 голосов
/ 18 мая 2010

Попробуйте что-то вроде этого:

<script type="text/javascript">
window.onload = function() {
  var scripts = [ '3rdparty1url','3rdparty2url','3rdparty3url',etc...];
  var head = document.getElementsByTagName('head')[0];
  for(var i = 0; i < scripts.length; ++i) {
    var scriptTag = document.createElement('script');
    scriptTag.src = scripts[i];
    head.appendChild(scriptTag);
  }
}
</script>

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

Если вы используете jQuery, вы можете сделать это:

<script type="text/javascript">
jQuery(function($){
    var scripts = [ '3rdparty1url','3rdparty2url','3rdparty3url',etc...];
    $.each(scripts, function(i,scrurl) {
      $('head').append($('<script>', { src: scrurl }));
    }
});
</script>
2 голосов
/ 18 мая 2010

Вы должны тщательно продумать свою страницу, чтобы она хорошо разлагалась.

Сделайте меню доступным в некотором «голом» виде перед загрузкой JS, и, как только они появятся, вы можете изменить пользовательский интерфейс, чтобы он был супер-модным и полным наворотов

Это также будет полезно для тех пользователей (вероятно, не многих, но все же ...), у которых отключен JS, и для индексации пауков, чтобы перехватывать содержимое ваших меню.

1 голос
/ 18 мая 2010

Гуру производительности JS Стив Соудерс о блокировке JavaScript и асинхронной загрузке дает хороший обзор. Google "асинхронная загрузка JavaScript" для гораздо больше информации. Существуют библиотеки , которые также могут планировать и загружать внешние файлы. Другой .

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