Можно ли сделать так, чтобы Smarty не переносил JavaScript-код в конец страницы (секция отделенная комментарием “Inline scripts”)?
Попробуйте в открывающий тег <script>
вставить data-no-defer
. Чтоб было так <script data-no-defer>
Большое спасибо, сработало!
чтобы Smarty не переносил JavaScript-код в конец страницы
Сделать можно. Но нежелательно Вот что Google говорит по такому случаю:
https://developers.google.com/web/fundamentals/performance/get-started/httprequests-5#script_location
Для повышения удобства использования, стоит скрипты перемещать в конец страницы:
<head>
</head>
<body>
[Body content goes here.]
<script src="mainscript.js"></script>
</body>
</html>
Проблема была с счетчиком LiveInternet. Запись визуального содержимого производилась через document.write(), соответственно, скрипт необходимо было размещать именно в том месте, где должен был располагаться элемент. Атрибут data-no-defer решил проблему, однако при переходе в режим редактирования контента содержимое сайта полностью заменялось на отображение счетчика. Пришлось отказаться и от этого варианта, заменив вызов document.write() на вызов одной из функций jQuery и перенеся скрипт в конец страницы, как и полагается (средствами Smarty).