将javascript移动到正文中

时间:2015-05-22 00:40:51

标签: javascript asp.net-mvc

我在使用大量@section scripts块的ASP.NET MVC项目中工作。我们还使用了很多局部视图。目前,我在<head>元素中呈现了全局JS( global.js ),它阻止页面的其余部分加载直到加载完毕。我想将这个JS移动到正文中,但由于我的部分视图依赖于global.js,这就成了一个问题。呈现的HTML原来是:

<html>
<head>
    <title>Page</title>

    <!-- Scripts/styles here -->
</head>
<body>

    <!-- Partial A -->
    <div id="PartialA">Partial A</div>
    <script type="text/javascript">
        $(function(){
            Foo.bar();
        });
    </script>

    <script type="text/javascript" src="global.js"></script>
</body>
</html>

global.js

var Foo = {};
Foo.bar = function(){
    console.log("I did Foo.bar()!");
}

我还能做些什么来将我的global.js放在</body标签之前,同时仍然允许使用global.js的JS存在于更高的身体中?也许某种习惯&#34;准备好&#34;我可以订阅活动吗?

1 个答案:

答案 0 :(得分:0)

为什么不在Partial A

window.initPartialA = function () {
 Foo.bar();
}

并在Global

if (window.initPartialA) {
  initPartialA();
}

这真的很糟糕,我想了解如何在asp中组织脚本标记而不是这样做。