【发布时间】:2011-08-22 13:04:16
【问题描述】:
除了人类无法阅读之外,当我从 html 源代码中删除每个换行符和空格时,是否有任何缺点?
那么浏览器的渲染是否不同?渲染会变得更快(或者可能更慢)吗?
【问题讨论】:
标签: html internet-explorer browser webkit mozilla
除了人类无法阅读之外,当我从 html 源代码中删除每个换行符和空格时,是否有任何缺点?
那么浏览器的渲染是否不同?渲染会变得更快(或者可能更慢)吗?
【问题讨论】:
标签: html internet-explorer browser webkit mozilla
关于缩小 HTML 的问题已经回答了很多。以下是一些:
【讨论】:
您将拥有更小的文件大小,因此下载速度可能会更快(尽管可能不明显)。确实有tools。
【讨论】:
如果您删除换行符,则没有任何害处。但是根据你的问题
...当我从 html 源代码中删除 每个 换行符和空格时?
如果您确实删除了每个换行符和行空间,则可能无法达到您的目的。 你应该只删除额外的换行符和空格。还要注意不要改变值属性表单数据,或任何其他属性。
关于它可以提供的改进:
它可能会更快地渲染,因为它需要解析较少的数据。但是这种加速非常小。我什至不鼓励它,因为它降低了可读性,并且 CPU 的加速时间约为几百个时钟周期。下载也是如此。它减少了仅仅一点点的数据(除非文档有太多的空白)
这最好在服务器端使用 GZIP 压缩进行输出。以下是启用它的 php 行。如果您的服务器中有 php,那么只需将您的 *.html 文件重命名为 *.php ,然后在任何输出之前添加以下代码:
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler");
您也可以使用 .htaccess 文件执行此操作。谷歌对此有更多了解。
【讨论】:
有点晚了,但仍然......通过使用 output_buffering 就这么简单:
function compress($string)
{
// Remove html comments
$string = preg_replace('/<!--.*-->/', '', $string);
// Merge multiple spaces into one space
$string = preg_replace('/\s+/', ' ', $string);
// Remove space between tags. Skip the following if
// you want as it will also remove the space
// between <span>Hello</span> <span>World</span>.
return preg_replace('/>\s+</', '><', $string);
}
ob_start('compress');
// Here goes your html.
ob_end_flush();
【讨论】: