[英]scripts at the bottom in mvc 4 - Does not execute <scripts> in View page
在MVC4
,Views在頁面底部包含script
元素。
例如。 在_layout.cshtml
(在“ Shared
文件夾”下)中, <script>
標記位於最底部。 雖然我知道這會使頁面加載更快,但問題實際上是這樣的:
在我的Views
,有時我碰巧使用一些腳本,如autocomplete
,如下所示:
<script type="text\\javascript"> ...... </script>
這是不起作用的,因為scripts
標記包含在頁面的最末端。 (當時甚至沒有加載JQuery)
痛苦的是,我不得不將Script Bundle rendering
移到頁面頂部。 喜歡,
render jquery first
then load scripts
所以,我錯過了什么,或者我應該始終將我的scripts
標記保存在_layout.cshtml
頁面的頂部?
謝謝你的回復。
好。 關鍵是:
將您的腳本anywhere
頁面中的anywhere
,但將它們包含在@section Scripts
。
這將確保無論您將腳本放置在何處, _layout.cshtml' renders them with the
都會使用包含的_layout.cshtml' renders them with the
。
因為,在你的_layout.cshtml
你有這個:
@Scripts.Render("~/bundles/RequiredBundles")
@RenderSection("scripts", required: false)
您可能希望在$ .ready中放置一些腳本,這些腳本僅在加載整個頁面時運行。
我認為代碼生成這樣做的原因是,如果你將自己的腳本添加到包中,那么它們會在大部分html主體加載到dom之后執行。
如果你確保在編寫自定義javascript時使用$ .ready,那么你應該沒有問題,無論它們是在頁面底部還是在head標簽中。
為了個人喜好,我把它們放在頂部(我只想查看head標簽以找到加載的腳本)並確保使用$ .ready。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.