【问题标题】:Chrome rendering differently when content served in ASP.Net Release Mode?在 ASP.Net 发布模式下提供内容时,Chrome 呈现方式不同?
【发布时间】:2014-12-16 19:45:08
【问题描述】:

我遇到了一个让我非常难以忍受的问题,我希望我能从 Stack Overflow 获得一些帮助或指点。

我有一个托管 SPA 的 ASP.Net 站点。我使用 Bundle 功能来提供 javascript 和内容。我发送 HTML5 文档类型,发送 meta http-equiv 以强制 IE 以标准模式呈现。 <meta http-equiv="X-UA-Compatible" content="IE=edge" />

发展非常好。但是,我们最近开始在发布模式下构建站点。 IE9 以相同的方式呈现我们的 Debug 和 Release 版本,即使在脚本和样式缩小和捆绑之后也是如此。但是,Chrome 不是。我使用的是 Chrome 39(我的队友使用的是 38),我们都遇到了同样的布局问题。一般来说,几乎感觉内联/内联块项目的处理方式不同,Chrome 在某些地方添加了额外的空白?但是为什么这只是 Chrome 的问题呢?并且仅在发布模式下?

我在发布/调试模式下分解了捆绑包并提供了完整的 JS/CSS,以确保相同的 JS/CSS 正在下降。同样的问题!

有什么想法吗?我把它弄丢了。

【问题讨论】:

  • 你在用什么客户端?
  • 一系列库,从 Moment 到 ember 到 jquery 到 bootstrap 到花哨的树到高图表。相当大的应用程序。
  • 你使用什么模板引擎?我的车把也有类似的问题
  • 哇,好的。所以我在发布模式下编译模板。我禁用了它,只是将它们附加到主 html 中,问题就消失了!我猜编译的模板是错误的。 @VsevolodGoloviznin,你有什么办法解决这个问题吗?
  • 我在答案中发布了一个可能的修复方法

标签: javascript css asp.net asp.net-mvc bundling-and-minification


【解决方案1】:

我在 Node.js 中使用把手时遇到了同样的问题,但我认为它也可能适用于你。

在handlebars 模板中定义值时,删除开始/结束标签和handlebars 变量之间的空格。

而不是这个:

<div>
    {{youVar}}
</div>

使用这个:

<div>{{yourVar}}</div>

【讨论】:

    猜你喜欢
    • 2018-04-07
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 2014-04-05
    相关资源
    最近更新 更多