10

出于某种原因,我的页面只加载了一部分(大约是我CSS文件的 1/3)。它是一个连接和缩小的。如果我去http://staging.easyuniv.com/styles/dbf42ab5.main.css 我可以看到整个事情。

最奇怪的部分是,如果查看 Chrome 开发工具中的源代码,大约三分之一的地方会变成空白(就在类名的中间),但是你可以滚动剩下的地方,就好像文本在那里一样.

我正在将其加载到我的页面上,其中包含以下内容:

<link rel="stylesheet" href="styles/dbf42ab5.main.css">

有人遇到过这样的事情吗?我已经没有东西可以尝试了。

4

3 回答 3

7

该文件远非有效,可能应该查看但这是我发现的......

通过一些试验和错误,在使用 Chrome 开发人员工具时,连接在一行上的 CSS 文件看起来像是被切断了。该文件似乎已被解析为使用Ctrl++并在文件末尾搜索某些内容(我正在搜索Shift) ,然后 Chrome 报告它已找到,尽管找到的计数似乎错误。Fzag-divider

具体来说,似乎该 CSS 文件中任何>= 66,537 个字符的行都会被截断!例如:

  • 单行 CSS 文件 <= 66,536 个字符不会被截断
  • 单行 CSS 文件 >= 66,537 个字符将被截断
  • 多行 CSS 文件 >= 66,537 个字符将只有 >= 66,537 的行将被截断

我有一行正好 66,537 个字符的 CSS 被截断,但是通过在第一个选择器和重新加载后添加一个回车符,整个文件在控制台中正确显示。

总而言之……任何行 >= 66,537 个字符的 CSS 文件看起来像是在 Chrome 开发人员工具中被截断了一部分,尽管该文件实际上已完全加载。我通过在 Chrome 应用的行尾添加一条规则来测试这一点。

注意:如果看似神奇的数字是 2 16,我会更开心

编辑:对 Chrome 23.0.1271.97 m 进行的调查

于 2013-02-14T10:24:35.240 回答
2

对于遇到此问题但并非专门使用 Google Chrome 的谷歌用户,验证截断不是由 Nginx 和虚拟化的已知缺陷造成的结果可能很有用,这可以通过sendfile在您的服务器块中禁用来解决。

您可以在本文中找到有关此问题的更多信息:http: //www.conroyp.com/2013/04/25/css-javascript-truncated-by-nginx-sendfile/

于 2015-12-30T00:02:25.867 回答
1

我尝试通过一些解析器运行它:

http://www.codebeautifier.com

http://www.cssportal.com/css-validator

不幸的是,它们似乎无法完全阅读您的 css 文件,您应该通过它们运行 css,因为结果太大而无法在此处发布。我认为当您缩小时,可能会发生很多事情,错误的编码,移动的空格实际上是必要的。

根据解析器提供的结果,我建议您恢复到未缩小的版本并重新开始,因为我在这里看到的错误太多(已识别出超过 900 个),您无法尝试“修复”css。

于 2013-02-14T08:41:23.860 回答