我只是想知道。
在我的PHP CMS应用程序中,我将大部分生成的HTML捕获到缓冲区中,然后在模板页面的正确位置刷新其内容。这是由我自己的缓冲类完成的,我最近添加了一个方法(sorta)使用 regex 缩小生成的HTML,将 2个或更多空格替换为一个空间。
这样做的结果是,最终的HTML根本没有新行。这在浏览器中工作正常,它显示正常,没有任何问题。
我对HTML缩小的任何其他方法或其他执行相同操作的PHP类不感兴趣。我有一个简单的双线程,可以完成我需要的所有内容,并且生成的HTML比以前小得多。
我感兴趣的是: .html文件的内容是否根本没有新行并且所有源代码都在一个很长的时间内是否有任何缺点线吗
除了人类的可读性之外,当然:)我对某些技术(或者甚至是其他)原因感兴趣,这会使这成为一种不好的做法。
答案 0 :(得分:3)
某些代理或浏览器可能会在一行中出现非常大的HTML文件问题。
对于JavaScript,例如,缩小代码的工具通常会以特定的时间间隔添加换行符。
Closure Compiler故意每500个字符左右添加换行符。防火墙和代理有时会损坏或忽略具有很长行的大型JavaScript文件。每500个字符添加换行符可以防止出现此问题。删除换行符对脚本的语义没有影响。对代码大小的影响很小,编译器优化换行符位置,以便在压缩文件时代码大小损失更小。
UglifyJS也这样做:
- max-line-len(默认32K字符) - 在大约32K字符后添加换行符。当所有代码都在大约670K的单行上时,我已经看到FF和Chrome都会呱呱叫。传递-max-line-len 0以禁用此安全功能。