Где включить файлы JS - это имеет значение? - PullRequest
2 голосов
/ 12 сентября 2010

Несколько вопросов сегодня :)

Я использую Codeigniter. У меня есть представление заголовка, содержащее мои теги, которые содержат загрузки универсального файла JS.

Он также содержит «макет» страницы, ссылки и т. Д., Боковую панель, а затем открывает тег и основное содержимое. Это закрыто в моем представлении нижнего колонтитула, которое загружается после и в представлении «содержимое».

В одном конкретном контроллере я получаю данные, используя метод, передаю их в представление «контент», затем эти php-данные устанавливаются в js var (небольшой блок встроенных js), а затем я включаю страницу, специфичную JS-файл, который использует эти данные. Это в моем теле. Это нормально?

Спасибо

Ответы [ 3 ]

5 голосов
/ 12 сентября 2010

Современный совет «лучшей практики» состоит в том, чтобы включить ваши файлы Javascript в end из <body>, если это возможно. Это позволяет вашему контенту поступать и отображаться без выполнения Javascript, замедляющего работу браузера.

Иногда это проблематично - например, некоторые серверные инфраструктуры отбрасывают небольшие кусочки Javascript вокруг элементов страницы, и они могут зависеть от библиотек Javascript.

1 голос
/ 12 сентября 2010

Для блока сценария, создающего var из литерала, а не загружающего файл JavaScript или выполняющего значительную обработку, нет, это вообще не будет иметь большого значения, если вообще.Но если вам все равно, где объявлен var, сделать это в нижней части тега body, как подсказал Пойнти , по-прежнему, вероятно, ваш лучший выбор.Даже при том, что вы ничего не делаете, есть передача от синтаксического анализатора / средства визуализации HTML интерпретатору JavaScript, который следует учитывать, хотя тривиально , я полагаю, ненулевой..

0 голосов
/ 12 сентября 2010

Взгляните на LABjs & RequireJS: загрузка ресурсов JavaScript в увлекательной игровой форме .Эта техника действительно помогает IE7, который не может загружать сценарии параллельно.

...