MVC 4 底部的脚本 - 不执行“视图”页面中的<脚本>
本文关键字:脚本 视图 执行 底部 MVC | 更新日期: 2023-09-27 18:34:28
在MVC4
中,视图在页面底部包含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
放在您的页面中,但将它们包含在一个@section Scripts
中。
这将确保无论您在哪里放置脚本,都包含 JQuery' _layout.cshtml' renders them with the
。
因为,在你的_layout.cshtml
你有这个:
@Scripts.Render("~/bundles/RequiredBundles")
@RenderSection("scripts", required: false)
您可能希望将一些脚本放在 $.ready 中,这些脚本仅在加载整个页面时运行。
我认为代码生成这样做的原因是,如果您将自己的脚本添加到捆绑包中,那么它们将在大部分 html 正文加载到 dom 后执行。
如果你确保在编写自定义javascript时使用$.ready,那么无论它们在页面底部还是在head标签中,你都应该没有问题。
出于个人喜好,我将它们放在顶部(我喜欢只需要查看 head 标签即可找到加载的脚本(,并确保使用 $.ready。