1

MVC4中,视图script在页面底部包含元素。

例如。在_layout.cshtmlShared文件夹下)中,<script>标签放置在最底部。虽然我知道这会使页面加载更快,但问题实际上是这样的:

在我的Views中,有时我碰巧使用了一些类似的脚本autocomplete,如下所示:

<script type="text\javascript"> ...... </script>

这不起作用,因为scripts标签包含在页面的最后。(当时甚至没有加载JQuery)

痛苦地,我不得不将 移到Script Bundle rendering页面顶部。喜欢,

render jquery first
then load scripts

那么,我是否遗漏了什么,或者我应该始终将我的scripts标签放在_layout.cshtml页面顶部?

感谢您的回复。

4

3 回答 3

4

好的。关键是:

将您的脚本anywhere放在您的页面中,但将它们包含在@section Scripts.

这将确保无论您将脚本放在何处,_layout.cshtml' renders them with the都包括 JQuery`。

因为,在你的_layout.cshtml你有这个:

@Scripts.Render("~/bundles/RequiredBundles")
        @RenderSection("scripts", required: false) 
于 2013-11-19T06:17:53.410 回答
0

我认为代码生成这样做的原因是,如果您将自己的脚本添加到包中,那么它们会在大部分 html 正文加载到 dom 后执行。

如果您确保在编写自定义 javascript 代码时使用了 $.ready,那么无论它们是在页面底部还是在 head 标记中,您都应该没有问题。

出于个人喜好,我将它们放在顶部(我喜欢只需要查看 head 标签即可找到加载的脚本)并确保使用 $.ready。

于 2013-10-09T10:27:47.183 回答
0

您可能希望将一些脚本放在 $.ready 中,这些脚本只会在整个页面加载时运行。

于 2013-10-09T10:14:49.710 回答