Pull to refresh

Comments 36

CSS-правило, полученное моим методом, проходит валидацию
Все валидно что в браузере видно, метериал интересный но больше познавательный, чем практический.
в любом случае спасибо автору за еще один вариант
не знаю, с какой стороны это хороший вариант, — наличием behavior, грузящего проц?
Вы, конечно, правы!
Но боюсь, что это не единственная (и вряд ли главная) вещь, которая будет грузить проц на IE.
поэтому давайте грузить его ещё больше? х)
я сейчас начал копать в сторону метода описанного тут… В Вашем же варианте требуется чтобы Javascript был включен.
если уж говорить о методах, то проще и элегатнее data:URI+mhtml еще не придумали
А кто может мне объяснить в трех словах, зачем это нужно?
Я в верстке не шарю, стало интересно…
чтобы уменьшить число запросов с 2 до 1, но увеличить трафик на 30% х)
Хех) Спасибо)

Аж стало интересно, что покажет в адресной строке браузер, если кликнуть «Открыть изображение в новой вкладке»
<a href=«data:text/html;base64;charset=utf-8,ZGF0YSAtICYjMTA5MDsmIzEwNzI7JiMxMDgyOyYjMTA4NjsmIzEwODE7ICYjMTA3ODsmIzEwNzc7ICYjMTA4NzsmIzEwODg7JiMxMDg2OyYjMTA5MDsmIzEwODY7JiMxMDgyOyYjMTA4NjsmIzEwODM7ICYjMTA4OTsgJiMxMDkwOyYjMTA4NjsmIzEwOTU7JiMxMDgyOyYjMTA4MDsgJiMxMDc5OyYjMTA4ODsmIzEwNzc7JiMxMDg1OyYjMTA4MDsmIzExMDM7IHVyaSAmIzEwODI7JiMxMDcyOyYjMTA4MjsgJiMxMDgwOyBodHRwICYjMTA4MDsmIzEwODM7JiMxMDgwOyB1cm4=»data:text/html;base64;charset=utf-8,ZGF0YSAtICYjMTA5MDsmIzEwNzI7JiMxMDgyOyYjMTA4NjsmIzEwODE7ICYjMTA3ODsmIzEwNzc7ICYjMTA4NzsmIzEwODg7JiMxMDg2OyYjMTA5MDsmIzEwODY7JiMxMDgyOyYjMTA4NjsmIzEwODM7ICYjMTA4OTsgJiMxMDkwOyYjMTA4NjsmIzEwOTU7JiMxMDgyOyYjMTA4MDsgJiMxMDc5OyYjMTA4ODsmIzEwNzc7JiMxMDg1OyYjMTA4MDsmIzExMDM7IHVyaSAmIzEwODI7JiMxMDcyOyYjMTA4MjsgJiMxMDgwOyBodHRwICYjMTA4MDsmIzEwODM7JiMxMDgwOyB1cm4=
data:text/html;base64;charset=utf-8,ZGF0YSAtICYjMTA5MDsmIzEwNzI7JiMxMDgyOyYjMTA4NjsmIzEwODE7ICYjMTA3ODsmIzEwNzc7ICYjMTA4NzsmIzEwODg7JiMxMDg2OyYjMTA5MDsmIzEwODY7JiMxMDgyOyYjMTA4NjsmIzEwODM7ICYjMTA4OTsgJiMxMDkwOyYjMTA4NjsmIzEwOTU7JiMxMDgyOyYjMTA4MDsgJiMxMDc5OyYjMTA4ODsmIzEwNzc7JiMxMDg1OyYjMTA4MDsmIzExMDM7IHVyaSAmIzEwODI7JiMxMDcyOyYjMTA4MjsgJiMxMDgwOyBodHRwICYjMTA4MDsmIzEwODM7JiMxMDgwOyB1cm4=
Кстати, трафик не всегда растёт на 30 %. Base64-кодирование конечно увеличивает, но потом gzip обратно уменьшает.
ничего подобного. для хорошего зипования нужны длинные повторяющиеся последовательности, а base64 за счёт преобразования 3 байт в 4 уменьшает их повторяемость, ибо исходные данные не выстроены по 3-хбайтовой сетке
Большинство упаковщиков данных используют не только алгоритмы удаления повторяющихся блоков, но и уменьшения средней длинны слов (байт) за счет изменения количество бит в слове для каждого значения (читать Префиксный код и алгоритм Хаффмана)

Например конкретно эту последовательность base64 длиной 394 байт bzip2 уменьшил до 240 байт — 40%
исходный текст был длиной в 96 байт в utf-8
А вы не путаете с LZW? Разве gzip не по алгоритму Хаффмана работает?
да без разницы какой алгоритм, ибо в исходных данных увеличивается энтропия

«base64 » — YmFzZTY0ICA=
" base64 " — IGJhc2U2NCA=
" base64" — ICBiYXNlNjQ=

если исходный текст можно закодировать всего 2 словами " " и «base64», то для закодированного в base64 нам потребуется словарь по крупнее
Извините, вы ошибаетесь, gzip использует алгоритм DEFLATE, который построен на комбинации алгоритмов LZ77 и Хаффмана. И ему для хорошего сжатия не нужны «длинные повторяющиеся последовательности», ему важен размер таблицы вхождений и равномерность распределения.
это ты ошибаешься, ю считая, что сказал что-то принципиально иное х)
Чтобы уменьшить число http-запросов к серверу. Если есть много мелких картинок, то достаточно много времени тратится на такие запросы. С аналогичных
рассуждений, кстати, склеивают много картинок в одну (спрайтинг) — выгоднее грузить одну большую картинку одним запросом.
Неплохо! Как раз думал, как попроще прифигачить data:uri не запариваясь за mhtml, только я наверное бы сделал это не через htc, а через одноразовый экспрешн
Кстати, data:url очень хорош в email-письмах, отправляемых в html формате. Это позволяет обойти столь неприятную ситуацию, когда многие почтовые клиенты рубят все подгружаемые извне изображения
эту ситуацию можно также обойти путем вложения картинок в само письмо.
А почему нельзя просто написать 2 правила background-image:

Сначала background-image: url(habr.png);
Потом background-image: url(data:image/png; далее_base64_кодировка...); для тех кто поймет DataURI?
У тех браузеров, что поймут второе, в которые не входят те, для которых написано первое.
Понимают все, но IE6,7 не могут отобразить.
background-image: url(data:image/png; далее_base64_кодировка...);
*background-image: url(habr.png);
Вот такая конструкция не перебьет. Вторая сработает только для IE
Sign up to leave a comment.

Articles

Change theme settings