2

我只是想知道。

在我的 PHP CMS 应用程序中,我将大部分生成的 HTML 捕获到缓冲区中,然后在模板页面的正确位置刷新它们的内容。这是由我自己的缓冲区类完成的,我最近在其中添加了一种方法来(排序)使用正则表达式来缩小生成的 HTML,该方法将2 个或多个空格替换为一个空格

这样做的结果是,最终的 HTML 根本没有新行。这在浏览器中运行良好,并且显示正常,没有任何问题。

我对任何其他的 HTML 缩小方法或其他做同样事情的 PHP 类不感兴趣。我有一个简单的两个班轮,可以完成我需要的一切,并且生成的 HTML 比以前小得多。

我感兴趣的是:.html 文件的内容完全没有新行并且所有源代码都在一个很长的行中,有什么缺点吗?

当然,除了人类可读性之外:) 我对某种技术(甚至可能是其他)原因感兴趣,这会使这是一种不好的做法。

4

1 回答 1

3

某些代理或浏览器可能会在单行上处理非常大的 HTML 文件时遇到问题。

例如,对于 JavaScript,缩小代码的工具通常会在特定的时间间隔添加换行符。

Closure Compiler 有意每 500 个字符左右添加换行符。防火墙和代理有时会损坏或忽略行很长的大型 JavaScript 文件。每 500 个字符添加换行符可防止此问题。删除换行符对脚本的语义没有影响。对代码大小的影响很小,并且编译器优化了换行符的位置,以便在压缩文件时代码大小损失更小。

UglifyJS 做同样的事情:

--max-line-len (默认 32K 个字符) — 在大约 32K 个字符后添加一个换行符。当所有代码都在大约 670K 的单行上时,我已经看到 FF 和 Chrome 呱呱叫了。传递 –max-line-len 0 以禁用此安全功能。

于 2013-08-29T11:39:33.753 回答