Я использую JSF 2.3 для разработки веб-приложения.Как веб-разработчик, я беспокоюсь о скорости загрузки сайта.
Когда я изучал, как я могу сделать свой сайт быстрее, я столкнулся с этим постом в переполнении стека.А цитата из принятого и получившего наибольшее количество голосов ответа гласила, что
таблицы стилей должны всегда указываться в заголовке документа для повышения производительности, важно, где это возможно, чтобы любые внешние файлы JS, которые должныбыть включенным в заголовок (например, те, которые пишут в документ), следуя таблицам стилей, чтобы предотвратить задержки во времени загрузки.
Я знаю, что JavaScript работает лучше, когда он находится в нижней части<body>
, но я хочу включить reCAPTCHA, и Google дает указание поместить необходимый внешний JavaScript-код перед закрывающим тегом </head>
.
Итак, я решил включить требуемый внешний JavaScript-код перед закрывающим </head>
и после CSS-файлов для повышения производительности.
Однако мои CSS-файлы объявлены в формате JSF, например <h:outputStylesheet name="css/default.css"/>
, и я понял, что CSS-файлы, объявленные таким образом, всегда помещаются после файлов, которые были объявленыне-JSF, что составляет <script src="https://www.google.com/recaptcha/api.js"></script>
.Я также рассмотрел вопрос о том, чтобы заставить внешний JavaScript вести себя в JSF-режиме, изменив <script>
на <h:outputScript>
, но <h:outputScript>
может отображать только локальные сценарии, как описано в этом посте .
Таким образом, результат всегда будет следующим:
<head>
<script src="https://www.google.com/recaptcha/api.js"></script>
<link type="text/css" rel="stylesheet" href="/project/javax.faces.resource/css/default.css.xhtml" />
</head>
вместо
<head>
<link type="text/css" rel="stylesheet" href="/project/javax.faces.resource/css/default.css.xhtml" />
<script src="https://www.google.com/recaptcha/api.js"></script>
</head>
Может быть, я слишком много думаю, и порядок размещения link
и script
не сильно влияет на производительность, но если скорость загрузки даже немного возрастает, я хочу пойти по лучшему пути.