Альтернативный метод для включения файлов JS - PullRequest
1 голос
/ 05 августа 2010

Этот вопрос является дополнительным вопросом для этого вопроса .

Если некоторые браузеры загружают файлы JS, даже если у пользователя отключен JS, имеет ли смысл включать файлы JS с помощью JS, чтобы гарантировать, что пользователь не будет вынужден загружать JS без необходимости?

Например:

function inc(filename){
    var body = document.getElementsByTagName('body').item(0);
    script = document.createElement('script');
    script.src = filename;
    script.type = 'text/javascript';
    body.appendChild(script);
}

Я нашел вышеуказанный код здесь .

Есть ли недостатки этого кода? Я еще не проверял его, чтобы убедиться, что он работает должным образом, но это кажется довольно простым.

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

Кроме того, как это будет работать, если пользователь включит JS после первоначальной загрузки сайта?

Это вообще имеет значение? Стоит ли беспокоиться?

1 Ответ

7 голосов
/ 05 августа 2010

Я собираюсь вернуться к этому вопросу:

Это вообще имеет значение? Стоит ли беспокоиться об этом?

Нет, это не так :) Процент пользователей, у которых отключен JavaScript, должен быть в значительной степени меньшинством (в большинстве случаев), действительно не стоит связываться с загрузкой всех пользователей. чтобы сохранить несколько HTTP-запросов (которые должны быть кэшированы) для нескольких, оставайтесь с тегами <script>.

Кроме того, посмотрите на принятый ответ в предыдущем вопросе, в начальном тестировании браузеры 3/4 его еще не загружали, так что на самом деле это только для Chrome ( и, возможно, IE ), другие браузеры уже сохраняют запросы здесь.

Обновление: Я только что протестировал в IE8, он не загружает любой включенный JavaScript, когда он отключен, я не настроен для тестирования любых других версий в данный момент, но это верно в IE8 по крайней мере.

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