как загрузить JavaScript в конце страницы - PullRequest
0 голосов
/ 21 декабря 2011

У меня есть веб-сайт с большим количеством файлов js, и я загрузил их в голову сейчас. но я слышал, что это не оптимизированный способ сделать это, и лучше загружать их в конце тела. Как я могу сказать Symfony, чтобы загрузить все мои JavaScript в конце страницы (не в начале). из-за проблем с производительностью лучше загружать их в конце загрузки страницы (после загрузки html и css)

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

спасибо за вашу помощь.

Ответы [ 3 ]

3 голосов
/ 21 декабря 2011

Откройте файл макета - по умолчанию он выглядит примерно так:

apps/frontend/templates/layout.php

Найдите вызов include_javascripts().Вырежьте и вставьте его в нижней части HTML, прямо перед закрывающим тегом:

    <?php include_javascripts() ?>
  </body>
</html>

И вуаля!Все ваши файлы JavaScript включены в нижней части вашей страницы.

Если ваш код зависит от некоторых библиотек (jQuery, MooTools, Prototype и т. Д.), И у вас есть некоторый встроенный код JavaScript (довольно плохая практика), у вас будут некоторые проблемы, потому что ваш встроенный код будет выведен довключение этих библиотек.Фильтр, упомянутый ранее, выглядит как хороший обходной путь.Опять же, вам это не нужно, если весь ваш код включен через функцию use_javascript() или ваш код JavaScript не имеет зависимостей.Еще кое-что.Если вы хотите действительно оптимизировать свой код, вы должны делать как можно меньше запросов.Хорошей практикой является объединение всех ваших файлов .js в один, минимизация всего и включение его в ваше приложение.

0 голосов
/ 06 ноября 2016

Для начала вам нужно загрузить js с помощью DOM или функции JS,

. Ищите здесь реализацию http://www.gee.web.id/2016/11/solusi-blogspot-untuk-speed-leverage.html

, а затем для выполнения функции jquery или javascript вам нужно загрузить всю страницу.сначала, а затем сделать командную функцию, для реализации, пожалуйста, нажмите здесь http://www.gee.web.id/2016/11/how-to-execute-javascript-when-page-has.html

0 голосов
/ 21 декабря 2011

Согласно документации jquery для .getScript () http://api.jquery.com/jQuery.getScript/, вы можете сделать что-то вроде этого:

<html>
<head>
</head>
<body>

//HTML tags ..... 

<script>
$.getScript('ajax/test.js', function(data, textStatus){
   console.log(data); //data returned
   console.log(textStatus); //success
   console.log('Load was performed.');
});
</script>

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