簡體   English   中英

mvc 4底部的腳本 - 不執行 <scripts> 在視圖頁面中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM