Все остальные сделали хорошие комментарии, но есть несколько других соображений, которые следует сделать.
Иногда javascript будет размещен в другом домене и будет подвержен тайм-ауту.
Иногда этот домен может стать недоступным, в то время как ваш сайт остается доступным. Не хорошо, чтобы ваш сайт полностью складывался в этом сценарии.
По этой причине следует избегать «блокирующих» скриптов (т. Е. Записи документа в строке), таких как те, что присутствуют в трекере Google, или, по крайней мере, они должны появляться на странице как можно позже, чтобы страница отображалась независимо от того, отображается она или нет. домен истекает или нет.
Если вы обслуживаете JS со сломанного / злонамеренного сервера, намеренно или случайно, вы можете остановить рендеринг страницы, просто имея скрипт, который обслуживает этот javascript, который просто вызывает "sleep (forever)", как только он отправил все заголовки.
Некоторые люди используют NoScript
Как и в случае вышеуказанной проблемы, иногда клиентская среда может блокировать определенные источники сценариев, будь то выбор пользователей или другие причины (например: удовлетворение безопасности браузера, нечетные антивирусные / антивирусные приложения). Самым популярным и контролируемым примером этого является NoScript, и я сам параноидально блокирую некоторые из популярных сервисов отслеживания / рекламы с ним (некоторые прокси-серверы будут делать это тоже).
Однако, если сайт плохо спроектирован, сбой одного скрипта по-прежнему приводит к выполнению кода, который зависел от присутствия этого скрипта, что выдает ошибки и останавливает все, что работает.
Моя рекомендация:
- Использовать Firebug
- Используйте NoScript и блокируйте все -> Смотрите, сайт по-прежнему работает
- Включить основные сценарии сайта, без которых вы ничего не можете сделать -> Смотрите, сайт по-прежнему работает, а firebug не скулит.
- Включить сторонние материалы -> Смотрите, сайт по-прежнему работает, а firebug не скулит.
Существует множество других сложностей, которые могут возникнуть, но удовлетворение вышеуказанных 2 должно решить большинство из них. Просто предположите, что по какой-либо причине один или несколько ресурсов, составляющих страницу, могут самопроизвольно исчезнуть (они это делают постоянно), и вы хотите, чтобы страница «пережила» эту проблему как можно более дружелюбно. Для проблем, которые могут сохраняться в течение <10 секунд, это не так уж и плохо, обновите страницу и исправьте ее, но если это может вызвать проблему, и severley препятствует удобству использования в течение часа или более за один раз. </p>
По сути, вместо того, чтобы думать «о, есть пользователи крайнего случая, у которых нет javascript», попробуйте придумать более длинные строки «действительно легко что-то пойти не так, и у вас есть ALL наших пользователей с испорченным javascript. Ой! Давайте попробуем сделать так, чтобы мы не «по-настоящему терзали себя, когда это произошло»
(Я видел, как обновляются IE и используют javascript для всего этого браузера, пока люди, которые написали сценарии, не найдут обходной путь. Потеря всех ваших клиентов IE - нехорошая вещь)
:set sarcasm
:set ignoreSpelling
:set iq=76
Не волнуйтесь, это всего 5% рынка Нише
Никому нет дела до таргетинга на рынки Нише, верно? Все эти забавные пропеллерные головки, управляющие рысью в своем отвратительном идиотском процессоре linoox, тратящие все свое время на серфинг внутри сети, потому что они не имеют ничего общего со своей жизнью или деньгами? сумасшедшие параноидальные ботаники, отключающие JavaScript слева и справа, потому что им это не нравится?
Никто не хочет их в качестве вашего основного клиента, не так ли?
Нише рынки. Пфф. Кому интересно!
:set nosarcasm