HTML minifier添加新行的目的

时间:2014-10-24 11:22:07

标签: php html minify

众所周知的用于缩小响应的PHP模块 - Minify(https://code.google.com/p/minify/)作为其缩小过程的一步,做了一些相当不明显的事情。它在每个打开的标记之后添加一个新行,就在第一个属性之前(如果存在)。

  

//在开放标记中的第一个属性之前使用换行符(限制行长度)

我的问题是寻找指出实际原因这个动作背后的情况,以及缩小输出中的大量新角色的开销是通过缩短线条的实际收益来证明的。

当我最近偶然发现JSON解析错误时,我发现了这种情况,原因尚不清楚。缩小过程的一部分使JSON响应(包含html标记的响应)无效。在内联JS时可能会遇到类似的问题,包含标记。

1 个答案:

答案 0 :(得分:0)

这是FAQ

  

为什么CSS& HTML minifiers会添加这么多换行符吗?

     

TL; DR:忽略它们。它们不会增加输出大小,如果你   绝对希望一行中的所有内容都必须使用另一行   工具。

     

传闻有些源控制工具和旧版浏览器都没有   喜欢很长的路线。具有较短行的压缩文件也是   更容易区分。

     

由于Minify类都是基于正则表达式的,所以它会非常   难以/容易出错计算字符然后尝试重新建立   用于添加换行符的上下文。相反,两个类交换1个空格为1   换行(\ n)尽可能添加中断但不添加   字节。

     

如果你能想到另一个安全的&限制线路的有效方法   这两个工具没有添加字节,请提交补丁,但是这个   不是任何人都应该担心的事情。

某些电子邮件服务器还会在1000个字符后自动插入换行符,这会破坏使用此脚本生成的缩小HTML。