Влияют ли недоступные внешние ресурсы на время загрузки страницы и ее функциональность?

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

<script src="http://thissitemaybedown.com/track.js"></script>

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

((new Image()).src='http://thissitemaybedown.com/track.php?ip=..&name=..');

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

Мои вопросы:

1) Будет ли страница функционировать должным образом, если внешний сайт (thissitemaybedown.com) не работает?

2) Должен ли я загружать этот скрипт отслеживания асинхронно, либо с отсрочкой или асинхронно в теге сценария, либо загружать его динамически из другого тега сценария (как это делает Google Analytics), чтобы убедиться, что он не влияет на страницу?

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

Спасибо!


person Newbie Aspiring Programmer    schedule 24.06.2014    source источник
comment
1) Если от скрипта ничего не зависит, все будет в порядке. Но у вас могут возникнуть проблемы, если вы используете событие window.onload и сценарий не работает. 2) Да, загружать все ненужные ресурсы асинхронно.   -  person christian314159    schedule 24.06.2014
comment
Зависит от того, насколько упал сайт. Здесь, в Китае, мы получаем много сайтов, которые заблокированы, и им обычно требуется минута или около того для каждого запроса на тайм-аут. Это серьезно ухудшает пользовательский опыт.   -  person Thilo    schedule 24.06.2014


Ответы (1)


  1. Страница все равно будет загружаться, даже если ваш скрипт не загрузится. В консоли браузера появится ошибка, показывающая причину сбоя. Это может вызвать проблемы только тогда, когда какой-то код на странице зависит от вашего скрипта.

  2. Если есть возможность загрузить скрипт асинхронно, попробуйте это сделать.

person Nikhil Talreja    schedule 24.06.2014
comment
Спасибо! Никакой другой код на странице не будет полагаться на скрипт. Похоже, что даже если я поместил (новое изображение()) с несуществующим URL-адресом в функцию window.onbeforeunload, он все равно будет двигаться вперед, не жалуясь. Интересно, это способ браузера справиться со всем плохо написанным javascript? Интернет, вероятно, не работал бы, если бы страницы останавливались из-за ошибок javascript. - person Newbie Aspiring Programmer; 24.06.2014