在MVC4脚本包中设置脚本类型

时间:2013-12-02 16:54:29

标签: javascript asp.net-mvc-4 firefox

我在MVC4中使用新的ScriptBundle类,以及@Styles.Render()@Scripts.Render()

到目前为止,这对我来说非常有用,直到我在Firefox中遇到这个问题:

If tags have a "type" attribute, it should equal "text/javascript" or "application/javascript". Also scripts must be parsable (syntactically correct).

果然,当我查看我正在使用.Render()助手的任何页面时,我的所有javascripts都输出为:

<script src="/WestingProject/Scripts/jquery.js">
<script src="/WestingProject/Scripts/jquery-1.9.1.js">
<script src="/WestingProject/Scripts/jquery.unobtrusive-ajax.js">
<script src="/WestingProject/Scripts/jquery.validate.js">
<script src="/WestingProject/Scripts/jquery.validate.unobtrusive.js">
<script src="/WestingProject/Scripts/jquery.carouFredSel-6.2.1.js">
<script src="/WestingProject/Scripts/jquery.dropdown.js">
<script src="/WestingProject/Scripts/jquery.placeholder.js">

以下是我在BundleConfig.cs课程中定义它们的方法:

bundles.Add(
            new ScriptBundle("~/bundles/jquery").Include(
                "~/Scripts/jquery.js",
                "~/Scripts/jquery-1.9.1.js",
                "~/Scripts/jquery.unobtrusive-ajax.js",
                "~/Scripts/jquery.validate*",
                "~/Scripts/jquery.validate.unobtrusive.js",
                "~/Scripts/jquery.carouFredSel-6.2.1.js",
                "~/Scripts/jquery.dropdown.js",
                "~/Scripts/jquery.placeholder.js"));

我的问题:

使用脚本包,有什么办法可以在我们输出到页面时将type="text/javascript"属性添加到我的所有javascripts中吗?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

<script src="@Scripts.Url("~/bundles/jquery")" type="text/javascript"></script>

虽然,这会缩小和捆绑你的脚本,因此如果需要,将禁止调试javascript。