把HTML源代码放在一长行里是不是很糟糕


Is it bad to have HTML source code in one long line

我只是想知道。

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

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

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

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

当然,除了人的易用性之外:)我对一些技术(甚至可能是其他)原因感兴趣,这会使这成为一种糟糕的做法。

一些代理或浏览器可能会在一行中遇到非常大的HTML文件问题。

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

闭包编译器有意每隔500个字符左右添加一次换行符。防火墙和代理有时会损坏或忽略行数很长的大型JavaScript文件。每隔500个字符添加换行符可以防止出现此问题。删除换行符对脚本的语义没有影响。对代码大小的影响很小,编译器优化了换行位置,因此当文件被gzip映射时,代码大小的损失甚至更小。

UglifyJS也这么做:

--最大行长度(默认为32K个字符)--在大约32K个字后添加一个换行符。当所有的代码都在一行大约670K的代码上时,我看到FF和Chrome都会发出嘎嘎声。Pass–max line len 0可禁用此安全功能。