Помимо того, что он становится нечитаемым для людей, есть ли какие-либо недостатки, когда я удаляю все разрывы строк и пробелы из исходного кода html?
Браузеры отображают по-разному? Станет ли рендеринг быстрее (или, может быть, медленнее)?
Помимо того, что он становится нечитаемым для людей, есть ли какие-либо недостатки, когда я удаляю все разрывы строк и пробелы из исходного кода html?
Браузеры отображают по-разному? Станет ли рендеринг быстрее (или, может быть, медленнее)?
На многие вопросы о минимизации HTML уже есть ответы. Вот некоторые:
У вас будет меньший размер файла, поэтому он может загружаться быстрее (хотя, вероятно, это будет незаметно). Для этого действительно существуют инструменты.
Если вы удалите разрывы строк, это не повредит. Но по вашим вопросам
... когда я удаляю все разрывы строк и пробелы из исходного кода html?
Если вы удалите все разрывы строк и межстрочные пробелы, ваша цель может быть не достигнута. Вы должны удалить только лишние разрывы строк и пробелы. Также будьте осторожны, чтобы не изменить значения атрибутов формы данных или любых других атрибутов в этом отношении.
Что касается улучшений, которые он может предложить:
Он может отображаться быстрее, поскольку ему нужно анализировать меньше данных. Но это ускорение очень мало. Я даже не одобряю это, так как это снижает читабельность, а ускорение процессора составляет порядка нескольких сотен тактов. То же самое касается загрузки. Это уменьшает количество простых фрагментов данных (если в документе не слишком много пробелов).
Вместо этого лучше использовать сжатие GZIP для вывода на стороне сервера. Ниже приведена строка из php, которая включает его. Если у вас есть php на вашем сервере, просто переименуйте файл *.html в *.php , затем добавьте следующий код перед любым выводом:
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler");
вы также можете сделать это с помощью файла .htaccess. Google об этом больше.
Немного поздно, но все же... Используя 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();