Что такое чистый шаблон для хранения всего JavaScript в нижней части моей страницы? - PullRequest
18 голосов
/ 15 февраля 2012

У нас есть вложенный макет для наших различных страниц. Например:

Master.cshtml

<!DOCTYPE html>
<html>
   <head>...</head>
   <body>@RenderBody()<body>
</html>

Question.cshtml

<div>
  ... lot of stuff ...
  @Html.Partial("Voting", Model.Votes)
</div>
<script type="text/javascript">
  ... some javascript ..
</script>

Voting.cshtml

<div>
  ... lot of stuff ...
</div>
<script type="text/javascript">
  ... some javascript ..
</script>

Это все работает нормально, но я бы хотел, чтобы все блоки JavaScript отображались в нижнем колонтитуле страницы, после всего содержимого.

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

Например, могу ли я создать магический помощник, который захватывает все блоки js, а затем получить макет верхнего уровня для его рендеринга:

Voting.cshtml

<div>
  ... lot of stuff ...
</div>
@appendJSToFooter{
   <script type="text/javascript">
     ... some javascript ..
   </script>
}

Ответы [ 11 ]

0 голосов
/ 15 февраля 2012

Я бы посоветовал вам не размещать скрипты прямо на своей странице.

Вместо этого вытащите JavaScript в отдельный файл .js, а затем назовите его в заголовке.

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

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