相关疑难解决方法(0)

Chrome说"资源被解释为脚本但是使用MIME类型text/plain传输.",是什么给出的?

在FF和所有,我的JavaScript工作正常.但在Chrome中,它会显示以下消息:

资源解释为脚本,但使用MIME类型text/plain进行传输.

我检查了所有的脚本标签,他们都有MIME type="text/javascript".它甚至用jquery和jquery ui这样说.Chrome有什么问题?

有什么问题和解决方法?这是我必须在浏览器的"选项"中更改的内容,还是来自服务器,还是我必须调整代码?

google-chrome mime-types

314
推荐指数
5
解决办法
44万
查看次数

为什么要使用@ Scripts.Render("〜/ bundles/jquery")

如何

@Scripts.Render("~/bundles/jquery")
Run Code Online (Sandbox Code Playgroud)

不同于仅仅引用html中的脚本

<script src="~/bundles/jquery.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

是否有任何性能提升?

asp.net-mvc-4 asp.net-optimization

214
推荐指数
2
解决办法
17万
查看次数

有没有一种简单的方法来使用Microsoft Web Optimization框架/脚本捆绑呈现绝对URL?

我正在尝试使用Microsoft的Web优化框架呈现JavaScript包,如下所示:

@Scripts.Render("~/assets/bundle.js")
Run Code Online (Sandbox Code Playgroud)

并建立一个小包,像这样:

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/assets/bundle.js")
        .Include(
            "~/scripts/jquery-2.1.0.min.js",
            "~/scripts/somescript.js"
        ));

    ...
}
Run Code Online (Sandbox Code Playgroud)

但是当启用优化时,它只会呈现相对URL,如下所示:

<script src="/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>
Run Code Online (Sandbox Code Playgroud)

如何让脚本捆绑呈现绝对URL呢? 我找不到一种方法来查看MSDN上的文档.这是我最终会喜欢的:

<script src="http://my.site.com/assets/bundle.js?v=mGDOiNaiTrSfcNq41OoA7A_BcN8PrXuMbfl-TE84HVY1"></script>
Run Code Online (Sandbox Code Playgroud)

这是在框架中,还是我必须使用辅助方法Script.Url

asp.net bundling-and-minification scriptbundle

10
推荐指数
1
解决办法
4828
查看次数

在ASP.NET MVC 4中使用Scripts.Render时,在"script"标记中生成"type"属性

是否可以在ASP.NET MVC 4中配置Scripts.Render以在"script"标记中生成"type"属性?

如果是这样,怎么样?

提前致谢,

瑞安

asp.net asp.net-mvc bundling-and-minification asp.net-optimization

5
推荐指数
1
解决办法
1563
查看次数

ASP.NET MVC 4捆绑 - DEBUG模式下的单个文件URL

问题:

在ASP.NET MVC 4.5中完成的HTML5离线应用程序中,我们使用框架的内置功能捆绑和缩小样式和脚本.一切都适用于页面本身,但是为了写入Cache Manifest,在那里(因为我们正在编写它),它总是只发出捆绑的URL.

因此,我们无法在脱机模式下调试JavaScript,因为各个调试js文件没有进入应用程序缓存.

码:

RegisterBundles

这就是我们的BundleConfig.RegisterBundles样子:

    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/Scripts").Include(
                   "~/Scripts/*.js"
                   ));
    }
Run Code Online (Sandbox Code Playgroud)

HTML标记

我们将它包含在我们_Layout.cshtml的页面本身中,如下所示:

@System.Web.Optimization.Scripts.Render("~/bundles/Scripts")
Run Code Online (Sandbox Code Playgroud)

当这非常适用于网页,通过发射单个js文件debugtrue,和一个当捆绑文件debugfalse.

输出 debug=true

<script src="/Scripts/ScriptOne.js"></script>
<script src="/Scripts/ScriptTwo.js"></script>
<script src="/Scripts/ScriptThree.js"></script>
Run Code Online (Sandbox Code Playgroud)

输出 debug=false

<script src="/bundles/Scripts?v=B0_RvAM_5ifnREcGnNQ3FO8qQp4vyLOdtCUJ-2mXSuA1"></script>
Run Code Online (Sandbox Code Playgroud)

缓存清单

这就是我们将脚本包含在我们的内容中的方法 CacheManifest

@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/Scripts")
Run Code Online (Sandbox Code Playgroud)

输出debug=truedebug=false

/bundles/Scripts?v=B0_RvAM_5ifnREcGnNQ3FO8qQp4vyLOdtCUJ-2mXSuA1
Run Code Online (Sandbox Code Playgroud)

我们想要什么?

我们想知道是否有一种方法可以像这样输出Cache-Manifest:

输出 debug=true

/Scripts/ScriptOne.js
/Scripts/ScriptTwo.js
/Scripts/ScriptThree.js
Run Code Online (Sandbox Code Playgroud)

输出 debug=false

/bundles/Scripts?v=B0_RvAM_5ifnREcGnNQ3FO8qQp4vyLOdtCUJ-2mXSuA1
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc razor asp.net-mvc-4

3
推荐指数
1
解决办法
3057
查看次数