Pull to refresh

Comments 65

и - дайте угадаю - грузится и работает это все равно быстрее, чем в современном хроме?

Меня это тоже интересовало. Я ставил WEB-сервер, последний доступный Chrome для Windows XP и открывал по 50 вкладок. IE явно работает более легковесней и отзывчивей чем Chrome, а потребление оперативной памяти копеечное. Старый Firefox так же быстрее чем более новый. Но если сравнивать на современном железе мою копию в 1.3 мегабайта и страницу реального Фейсбук в 15 мегабайт, разницу в скорости не заметить. Раньше на потребляемые ресурсы явно больше времени уделяли чем сейчас.

а потребление оперативной памяти копеечное

Ещё бы, хром жрёт много памяти не просто так, этим достигается стабильность (изоляция вкладок, если одна падает, остальные остаются).

Правда, это не отменяет тот факт, что он излишне раздут и может потреблять меньше оперативной памяти.

Может и излишне, а может и в самый раз. Если есть возможность использовать много памяти, то это может радикально поднять производительность. Например запихнуть многомегабайтный индекс в оперативку, и получить неслабый такой прирост производительности в сравнении с индексом на винте.

Да, только вот лучше была бы свобода пользователя отключить часть функционала для достижения оптимального потребления оперативной памяти.

А зачем пользователю в это лезть? Думаю подавляющему большинству это не нужно, а тем кому нужно - ну всегда есть возможность для опенсорсных приложений сделать свою сборку с шахматами и поэтессами в которой отключить все "не нужное". Если это для пользователя слишком сложно, то скорее всего оно ему и не надо.

А зачем пользователю в это лезть

Если у пользователя мало оперативной памяти, вы предлагаете ему делать кастомную сборку хромомонстра (уж простите за изменение названия, только вот проект действительно превратился в монструозное нечто)?

Если это для пользователя слишком сложно, то скорее всего оно ему и не надо.

Спорное утверждение, до сих пор есть сравнительно много людей, использующих 4 гигабайта оперативной памяти на своём компьютере, им как раз нужен браузер, который жрёт мало памяти. В таких случаях я обычно рекомендую вебкит, но он не всегда справляется с правильным отображением сайтов.

Так чудес не бывает, если пользователь хочет при малом количестве памяти пользоваться браузером так, будто у него ее много, то так не получится.

Это все равно что расстраиваться что твой автомобиль с трехцилиндровым двигателем мощностью с пятьдесят лошадок не рвет с места как-же как какой-либо спорткар с двигателем в триста сил.

Тут или покупай другой автомобиль, или смирись с тем что есть, выбрасывая из машины лишние детали и облегчая таким образом его вес можно немного добавить динамики, но все равно спорткар не получится.

С четырьмя гигабайтами остается только жестко следить за количество открытых вкладок в баузере и количеством запущенных приложений.

Насколько я понимаю, большая часть оперативки, которую использует хром — это JIT-страницы для скриптов. А скриптов нынче принято использовать много, бандлы под мегабайт минифицированного JS не редкость.

тут можно и не гадать. Учитывая какой тормоз текущий фейсбук, то гарантированно будет быстрее работать

Особенно когда вытягиваешь svg-иконки для сайта и у тебя виснет Chrome DevTools. Я не знаю, как можно разрабатывать столько инструментов для ускорения своего основного детища и в итоге сделать его ещё медленнее :)

По скорости - может быть. Но многие из этих фиксов/хаков в реальности глючили.

Например, при добавлении на страницу нескольких десятков png с прозрачностью (скажем, большая таблица в админке с иконками-действиями) у iepngfix.htc, бывало, сносило крышу и по странице ползли цветные артефакты. И никак это не предугадать и не победить, разве что молиться.

Или тени - формально решения были, но работали они очень нестабильно и неконсистентно. Особенно тени от текста, а не от блока. Впрочем, автор об этом тоже пишет.

В итоге приходилось очень многое отливать в куски растровой графики. Искусство по подгонке лоскутных одеял достигало тогда больших высот.

Я планировал. Вовремя нужно было уйти спать, а не продолжать. Затёр случайно и заметил только на следующий день.
Существует такая программа WRP — Web Rendering Proxy. Она ставится на современный компьютер с установленным браузером Chrome, который должен находится в одной локальной сети со старым компьютером, либо подобный компьютер (сервис) должен быть доступен из сети интернет.
В старом браузере на другом компьютере, в адресной строке пишется IP:8080. Где IP — это IP адрес компьютера-сервера где установлена и запущена программа.
Если всё сделано правильно, после ввода IP:8080 на веб-странице отобразится поле ввода URL и кнопки параметров отображения страницы (высота, ширина, цвета и пр.). Курсор мыши может взаимодействовать с элементами оригинальной веб-страницы (отслеживаются координаты расположения стрелки на картинке), то есть по отображаемым элементам на картинке можно кликать.

Смысл этого способа заключается в том, что браузер отображает передаваемую в него картику (скриншот) с другого компьютера, а не взаимодействует на прямую с написанным кодом веб-страницы.

Но вообще по оживлению браузеров в XP у меня есть целая статья habr.com/ru/post/373803
Ну там же фактически скриншоты и картинка статична хоть и можно её прокрутить вверх вниз. А если не привязываться к браузеру в Windows XP, то всё зависит от видеокарты. Radeon 9500 или nvidia GF6100. Можно и с более древними видеокартами, но тогда WebGL будет через процессор, а не видеокарту.
Спасибо. Совсем об этом забыл. Сам часто прибегал именно к такому способу.

Хммм, как можно было так быстро забыть боль хаков для 6-го, что аж захотелось её испытать заново?

Я в то время, в основном, создавал сайты для пиратских серверов World of Warcraft и сам играл в неё. Почему-то закрепились только положительные эмоции. А все эти «нюансы» забылись как страшный сон. Ностальгия она такая, лучше оставить её в прошлом.
Я пытался всё делать так же, как делал раньше. Об этом способе узнал от вас. Сколько времени прошло, а IE до сих пор удивляет.

Там много чего было. HTML+TIME например, тег для видео или поддержка указания RGB с «альфой» (в формате ARGB).

Ну и по статье, что помню.

«!important» вёл себя в IE6 иначе — работал только последний на свойстве, поэтому в вашем примере в IE6 цвет синий — «!important» стоит не на последнем «color».

«zoom» (как и некоторые другие штуки) включал «hasLayout», в интернетах раньше было несколько подробных статей по поводу того что это и как работает, думаю, что и сейчас это вполне гуглится (мне лень проверять).

IE6 поддерживал очень много графических форматов, все популярные вы вспомнили, а из непопулярных мне хотелось бы вспомнить XBM — из-за прекрасного Wolf5K.

Тени и скругления можно было делать при помощи VML, через VML же можно было грузить PNG с прозрачностью.

Спасибо за комментарий. XBM для меня в новинку, ознакомлюсь. А VML как-то обошёл меня стороной.
UFO just landed and posted this here
Ну я до сих пор верстаю таблицами, потому что ничем больше и не умею) дивную верстку так и не освоил (я С++ разработчик, обычно ничего кроме табличек с результатами автотестов да внутренних вебморд для отчетов верстать делать не приходится)
тут что-то на эльфийском)
див — элемент, который занимает всю ширину экрана, если этому не препятствует внешний див, или сосед, который может уживаться с ним в разных ситуациях.
А теперь, зная это, страшно ли смотреть на документашку tailwindcss.com и и просто раскидывать классы по ней?))
К сожалению, да( таблицы как-то интуитивно понятны тем кто в Word их вставлял или с экселем работал. а вот посмотрел по ссылке — лично для меня это взрыв мозга.

<div class="relative z-10 col-start-1 row-start-1 px-4 pt-40 pb-3 bg-gradient-to-t from-black sm:bg-none">
    <p class="text-sm font-medium text-white sm:mb-1 sm:text-gray-500">Entire house</p>

если честно для меня это выглядит как куча мусора после
<table><tr><td>
Таблицы не умеют вскхлопыватся на мобилках. Потому они не прижились ну и поведение у них плохо контролируемое.

если честно для меня это выглядит как куча мусора после

да ладно, читается прямо все, это же css. Вы кинули оформленный стилями блок. Не обязательно со стилями это тащить
Представьте, что div может быть и table, и tr, и td. А чем именно — решаете Вы сами, задавая ему align/valign/colspan CSS-аттрибуты.

Человеку делать больше нечего, чем учить ваш tailwind css )

Я аж прослезился... 2005 год, я пытаюсь повторить классический сайт ВОВ, гляжу код и просто плачу ибо было проще сделать 3 отдельных сайта - для IE, оперы и фаерфокса... 1в1 прям мучения, чистой воды БДСМ. Скучаю по тем временам... но возвращаться не хочу (:

Ну, а я нарезал картинки и клепал из них сайты для пиратских серверов WoW. Приятное было время. Веб-разработка как хобби мне нравилась больше, чем как постоянная работа.

Согласен с вами. Как хобби оно меня прет, а вот работая - быстро перегорел. + нету гонки за технологиями - валяю как мне удобно.

PS: Тоже для пираток сайты делал...

Веб-разработка как хобби мне нравилась больше, чем как постоянная работа.

Лысый из браззерс (ц)
Простите, у меня включилось сценарное мышление)
А сейчас у нас вместо IE стал Safari. Вот уж действительно недо-бразуер, в котором куча всего или вообще не работает, или работает не так, как у прочих.
Вы хотели сказать что осталось только два броузера? Бо все прочие — это вариации на тему хрома, не считая экзотики типа линкса и иже с ней.
К сожалению, некоторые из этих вариаций куда более вариативны, чем просто нескучные обои, тема оформления или другая форма адресной строки. Safari — это хромодвижок, изрядно покорёженный эппловской монтировкой. И та вёрстка, которая в других хромах выглядит нормально, в этом начинает разъезжаться.
А уж если сайт ещё и JS использует, например для создания Веб-игр, то тут всё и вовсе печально, там столько сразу отличий в реализации… Разработчики буквально изнемогают, борясь с нестандартным поведением этой пародии на браузер.
При этом у Safari, увы, весьма большая аудитория, и просто забить на него не вариант.
Это как раз на тему другой статьи на хабре — нужна ли оптимизация вебу )

Бо это для девелоперов сафари «покореженный хромодвижок». А для конечного пользователя — это ухты, так я че, реально могу серфить не высаживая батарею в ноуте за пять мин и не боясь получить ожоги?!!! И вот на этом этапе вопрос кривости движка становится немного сложным.

Несоответствие стандартам это всё равно не оправдывает ¯\_(ツ)_/¯
Не высаживать батарейку конечно хорошо, но достигаться это должно не такими методами.

Вы таки настаиваете на тех методах которые имели место быть с флешем? ;)
Там, вроде, уже и гугл признал что есть проблемы. Правда, обеспечив себе несколько лет на создание и отладку аналогов.
И кстати, вот как тут ниже пишут — это еще вопрос, где там яйца а где курица. И кто кому не соответствует.

Ну вообще исторически - это как раз Chrome из себя представляет из себя изрядно покорёженый WebKit. Но пропаганда гугла делает своё дело, да.

И да и нет. Современный Chrome уж очень сильно отличается от Safari.

У меня лично к Safari претензия в том, что он медленно имплементирует реально полезные технологии и не всегда ведёт себя так как ожидаешь. Формат WebP очень хорош но из-за Safari приходилось использовать дополнительные ресурсы. Или сайт работающий везде хорошо, на iPhone X работал криво и только там.

Apple, в основном, делает правильные вещи для своих пользователей, но им стоит чуть больше времени уделять тем деталям которые востребованы.
Он это делает специально, замедляет внедрение, потому что любое развитие веба удар по стору. Эти скоты тормозят wasm. Что позволит юзать на айфоне аналогичные по сложности в приложениях вещи прямо в браузере.
UFO just landed and posted this here
Да вы правы. Понимал при условии что у таблицы был задан размер. Когда писал, опирался на таблицы с изменяемыми размерами и как-то упустил эту деталь.
SVG кстати тоже нет

Было другое. И ни чуть не хуже. Из этого другого, кстати, вырос SVG.
Другое называлось VML.
Вот как делал в Microsoft Office FrontPage 2003 (правда, половины не понимал, а сейчас и то что понимал не помню).
поделка
image

А так это выглядит в IE11
страничка
image

Ну и это же
внутри
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></meta>
<meta name="generator" content="microsoft® html help workshop 4.1">
<link rel="stylesheet" href="stylesheet.css" type="text/css">
<script language="javascript" src="footer.js"></script>
<title>Titulis</title>
<style>
v\:* { behavior: url(#default#VML) }
</style>
</head>
<body style="margin:0; padding:0;" scroll="auto">
<div class="page">
<p style="font-family: 'Monotype Corsiva', cursive; font-size: 9pt; text-align:right;">Моему отцу и сыну посвящается...</p>
<script>
if (parseInt(navigator.userAgent.substr(navigator.userAgent.lastIndexOf("MSIE ") + 4))>4)
{this.document.write("<center>"+"<p>".concat("<v:group style='position:relative;top:19%;width:360px;height:265px; z-index:1; display:block' coordorigin='202,163' coordsize='602,319'>",
	   "<v:shapetype id='si_topes' coordsize='21600,21600' adj='11796480' path='al10800,10800,10800,10800@2@14e'>",
		"<v:formulas>",
		 "<v:f eqn='val #1'/>",
		 "<v:f eqn='val #0'/>",
		 "<v:f eqn='sum 0 0 #0'/>",
		 "<v:f eqn='sumangle #0 0 180'/>",
		 "<v:f eqn='sumangle #0 0 90'/>",
		 "<v:f eqn='prod @4 2 1'/>",
		 "<v:f eqn='sumangle #0 90 0'/>",
		 "<v:f eqn='prod @6 2 1'/>",
		 "<v:f eqn='abs #0'/>",
		 "<v:f eqn='sumangle @8 0 90'/>",
		 "<v:f eqn='if @9 @7 @5'/>",
		 "<v:f eqn='sumangle @10 0 360'/>",
		 "<v:f eqn='if @10 @11 @10'/>",
		 "<v:f eqn='sumangle @12 0 360'/>",
		 "<v:f eqn='if @12 @13 @12'/>",
		 "<v:f eqn='sum 0 0 @14'/>",
		 "<v:f eqn='val 10800'/>",
		 "<v:f eqn='cos 10800 #0'/>",
		 "<v:f eqn='sin 10800 #0'/>",
		 "<v:f eqn='sum @17 10800 0'/>",
		 "<v:f eqn='sum @18 10800 0'/>",
		 "<v:f eqn='sum 10800 0 @17'/>",
		 "<v:f eqn='if @9 0 21600'/>",
		 "<v:f eqn='sum 10800 0 @18'/>",
		"</v:formulas>",
		"<v:path textpathok='t'/>",
		"<v:textpath on='t' style='v-text-kern:t' fitpath='t'/>",
	   "</v:shapetype>",
   "<v:shape type='#si_topes' style='position:relative; left:202;top:163;width:602;height:51' adj='-10846285,5400' fillcolor='#6495ed' stroked='f'>",
	"<v:fill color2='fill darken(209)' rotate='t' focusposition='.5,.5' focussize='' method='linear sigma' type='gradientRadial'/>",
	"<v:extrusion backdepth='22pt' on='t' viewpoint='0,34.72222mm' viewpointorigin='0,.5' skewangle='90' brightness='10000f' lightposition='0,-50000' lightlevel='44000f' lightposition2='0,50000' lightlevel2='24000f' type='perspective'/>",
	"<v:textpath style='font-family:").concat('"Verdana", "Arial", "Helvetica", "Sans-serif";').concat("font-size:14pt; v-same-letter-heights:t' fitshape='t' trim='t' string='Supplemental information'/>",
   "</v:shape>",

	   "<v:shapetype id='op_middl' coordsize='21600,21600' adj='2945' path='m0@0c7200@2,14400@2,21600@0m0@3c7200@4,14400@4,21600@3e'>",
		"<v:formulas>",
		 "<v:f eqn='val #0'/>",
		 "<v:f eqn='prod #0 1 3'/>",
		 "<v:f eqn='sum 0 0 @1'/>",
		 "<v:f eqn='sum 21600 0 #0'/>",
		 "<v:f eqn='sum 21600 0 @2'/>",
		 "<v:f eqn='prod #0 2 3'/>",
		 "<v:f eqn='sum 21600 0 @5'/>",
		"</v:formulas>",
		"<v:path textpathok='t'/>",
		"<v:textpath on='t' fitshape='t' xscale='t'/>",
	   "</v:shapetype>",
   "<v:shape type='#op_middl' style='position:relative; left:215;top:248;width:570;height:134' adj='2991' fillcolor='#6495ed' stroked='f'>",
	"<v:fill opacity2='60293f' rotate='t'/>",
	"<v:extrusion specularity='80000f' diffusity='43712f' backdepth='125pt' color='#6495ed' on='t' metal='t' rotationangle='-10' viewpoint='0,34.72222mm' viewpointorigin='0,.5' skewangle='90' brightness='10000f' lightposition='0' lightlevel='44000f' lightposition2='0' lightlevel2='24000f' type='perspective'/>",
	"<v:textpath style='font-family:").concat('"Times New Roman", "Bodoni", "Garamond", "Serif";').concat("font-size:36pt; v-text-align:justify;v-text-kern:t' trim='t' fitpath='t' xscale='f' string='OUTPOST'/>",
   "</v:shape>",

	   "<v:shapetype id='oni_bott' coordsize='21600,21600' path='al10800,10800,10800,10800@3@15e'>",
		"<v:formulas>",
		 "<v:f eqn='val #1'/>",
		 "<v:f eqn='val #0'/>",
		 "<v:f eqn='sum 0 0 #0'/>",
		 "<v:f eqn='sumangle #0 0 180'/>",
		 "<v:f eqn='sumangle #0 0 90'/>",
		 "<v:f eqn='prod @4 2 1'/>",
		 "<v:f eqn='sumangle #0 90 0'/>",
		 "<v:f eqn='prod @6 2 1'/>",
		 "<v:f eqn='abs #0'/>",
		 "<v:f eqn='sumangle @8 0 90'/>",
		 "<v:f eqn='if @9 @7 @5'/>",
		 "<v:f eqn='sumangle @10 0 360'/>",
		 "<v:f eqn='if @10 @11 @10'/>",
		 "<v:f eqn='sumangle @12 0 360'/>",
		 "<v:f eqn='if @12 @13 @12'/>",
		 "<v:f eqn='sum 0 0 @14'/>",
		 "<v:f eqn='val 10800'/>",
		 "<v:f eqn='cos 10800 #0'/>",
		 "<v:f eqn='sin 10800 #0'/>",
		 "<v:f eqn='sum @17 10800 0'/>",
		 "<v:f eqn='sum @18 10800 0'/>",
		 "<v:f eqn='sum 10800 0 @17'/>",
		 "<v:f eqn='if @9 0 21600'/>",
		 "<v:f eqn='sum 10800 0 @18'/>",
		"</v:formulas>",
		"<v:path textpathok='t'/>",
		"<v:textpath on='t' style='v-text-kern:t' fitpath='t'/>",
	   "</v:shapetype>",
   "<v:shape type='#oni_bott' style='position:relative; left:222;top:438;width:577;height:31' adj='1120165' fillcolor='#6495ed' stroked='f'>",
	"<v:fill color2='fill darken(209)' rotate='t' focusposition='.5,.5' focussize='' method='linear sigma' type='gradientRadial'/>",
	"<v:extrusion backdepth='22pt' on='t' viewpoint='0' viewpointorigin='0' skewangle='-90' brightness='10000f' lightposition='0,50000' lightlevel='44000f' lightposition2='0,-50000' lightlevel2='24000f' type='perspective'/>",
	"<v:textpath style='font-family:").concat('"Verdana", "Arial", "Helvetica", "Sans-serif";').concat("font-size:14pt;v-text-align:justify' fitshape='t' trim='t' string='outside and inside'/>",
   "</v:shape>",
"</v:group>",
"</p>","</center>"));}
else{this.document.write("<h1 style='text-align:center;'>Supplemental information</h1><br><h1 style='text-align:center;'>OUTPOST</h1><br><h1 style='text-align:center;'>otside and inside</h1>");}
</script>
</div>
<div class="footer_guarantor"></div>
<div class="footer">
<p>
<marquee style="text-align: center;" align="middle" behavior="slide" direction="up" loop="1" height="30" width="296" scrollamount="2" scrolldelay="75"><script>document.write(design)</script></marquee></p>
</div>
</body>
</html>

Вот я как-то вообще упустил VML. По вашему примеру вспомнил, что встречал эту разметку, но сам на практике ни разу не использовал.

Из древностей можно ещё VRML вспомнить ) Язык для трёхмерной интерактивной графики. Работал через плагины и прочно забыт, кмк.

Автор молодец, такая работа проделана и такой шикарный иллюстративный материал. Вспомнил школу и первые курсы универа, как узнал от товарища про CSS и был впечатлён гениальностью идеи разделять контент и его оформление. И как верстал табличками :3
Спасибо. Сам сидел и вспоминал этот прекрасный опыт первооткрывателя в IT. А, как известно, приятным нужно делиться с окружающими.

>Зачем делать копию Facebook под Internet Explorer 6 в 2021 году?

>Сидя одним вечером дома и читая об этом статью, ко мне в голову пришла мысль — «А не сделать ли мне современный сайт так, как делали их тогда?»

Правильно ли я понимаю, что ответ на вопрос в заголовке --- скука + желание тряхнуть стариной?

А получилось красиво.

Скорее попытка окунуться в приятные ностальгические воспоминания. Ёжик хоть и колючий, но погладить хочеться.
«Сидя одним вечером дома и читая об этом статью, ко мне в голову пришла мысль». Ох уж эти коварные деепричастные обороты!

Сидя одним вечером дома и читая об этом статью, ко мне в голову пришла мысль

«Подъезжая к сией станцыи и глядя на природу в окно, у меня слетела шляпа» А.П.Чехов

Благодарю за замечание. Исправил.

В какое-то время таблицами стало верстать немодно, самыми рапространенными приемыми стал вышеупомянутый float (в сочетании с clearfix) и inline-block. До сих пор помню сниплет для последнего


display: inline-block;
*display: inline;
zoom: 1;

Ох, какая ностальгия по первой работе в далеком 2010-ом.

Посмотрите еще популярную когда-то либу CSS3PIE и вообще про .htc, через эти хаки можно было делать очень много разного, как и через js в css. Так же много полезного можно было почерпнуть из многочисленных ieX.js, где фиксились так же и баги css. Сами эти либы тянуть весьма накладно и они дико тормозят браузер, но можно почерпнуть как обходить те или иные баги. А вообще да, время было не из легких, но мы сражались как могли :)

Sign up to leave a comment.