我使用热毛巾模板构建了一个原型,该模板可以在大多数浏览器中找到,但在IE8文档模式下查看时不显示任何内容(使用IE 9 Developer工具)。如果代码露营者示例应用程序也会发生同样的事情。
我的假设是HTML 5问题,所以我尝试了以下内容。
添加了html5shiv和es5-shim nuget包。
为Bundle config.cs中的脚本创建一个新的包,即
new ScriptBundle(“〜/ scripts / compat”) .INCLUDE( “〜/脚本/ ES5-shim.js”) .INCLUDE( “〜/脚本/ html5shiv.js”) );
将新捆绑包添加到index.cshtml视图
@using System.Web @using System.Web.Optimization 热毛巾SPA
@Styles.Render("~/Content/css")
<script type="text/javascript">
if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
var msViewportStyle = document.createElement("style");
var mq = "@@-ms-viewport{width:auto!important}";
msViewportStyle.appendChild(document.createTextNode(mq));
document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
}
</script>
@Scripts.Render("~/scripts/compat")
但问题仍然存在。有谁知道如何解决这个问题,或者我错过了其他的东西。
答案 0 :(得分:1)
在Breeze进入之前,只需将es5 Shim和Sham库添加到供应商包中。
bundles.Add(
new ScriptBundle("~/scripts/vendor")
.Include("~/scripts/jquery-{version}.js")
.Include("~/scripts/knockout-{version}.debug.js")
.Include("~/scripts/sammy-{version}.js")
.Include("~/scripts/toastr.js")
.Include("~/scripts/Q.js")
.Include("~/scripts/es5-shim.min.js")
.Include("~/scripts/es5-sham.min.js")
.Include("~/scripts/breeze.debug.js")
.Include("~/scripts/bootstrap.js")
.Include("~/scripts/moment.js")
);