Скрипт Javascript предотвращает ожидание загрузки скрипта (PantherAds) - PullRequest
0 голосов
/ 28 января 2012

Ну, недавно я попал в PantherAds и разместил свой рекламный скрипт на своем сайте.Однако я обнаружил, что когда скрипт (/ iframe) Pantherads на моем сайте не загружается, остальная часть моего сайта тоже не загружается.Другими словами: он ждет полной загрузки Pantherads, прежде чем продолжит загружать остальную часть моего сайта.Теперь я хотел бы либо убедиться, что он загружает остальную часть страницы одновременно, чтобы мой веб-сайт не беспокоился, когда скрипт PantherAds не загружается, или я хотел бы установить тайм-аутдля сценария Pantherads.Например, если он не загрузился в течение 5 секунд, просто пропустите его.

Кто-нибудь знает, как это сделать?Или кто-нибудь может мне помочь в этом?Буду очень признателен!

Заранее спасибо.

С наилучшими пожеланиями.

ОБНОВЛЕНИЕ: Это скрипт Pantherads:

<script language="javascript" type="text/javascript" src="http://pantherads.com/ads/CODEHERE"></script>

Говорят, что для показа рекламы используется iframe.

Ответы [ 3 ]

2 голосов
/ 28 января 2012

Существует 3 различных решения:

  • добавить атрибут "async" в объявление скрипта (
  • добавить атрибут "defer". Он поддерживается всеми браузерами (даже IE5). Я буду откладывать выполнение скрипта до тех пор, пока тело не будет полностью проанализировано / обработано.
  • поместите ваш скрипт непосредственно перед концом страницы (предложенный Jashwant)

P.S. на вашем месте я бы просмотрел всю карту выполнения / приоритетов всех сценариев, переведя некоторые из них (в основном Google Analytics и аналогичные) в асинхронный режим JQuery внешние скрипты отложить и так далее. Вы можете получить значительное увеличение скорости.

1 голос
/ 28 января 2012

Google и многие другие используют следующий фрагмент JavaScript для выполнения асинхронной загрузки файла JavaScript;просто добавьте следующий код в блок script на своей странице:

(function() {
    var s = document.createElement('script');
    s.type = 'text/javascript';
    s.async = true;
    s.src = 'http://pantherads.com/ads/CODEHERE';
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
})();
1 голос
/ 28 января 2012

Включите ваши <script> </script> теги PantherAds непосредственно перед закрытием тега </body>.

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

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