
Привет, Хабраюзер!
Я даже не знаю что хуже, что код для этого секундомера занимает ~ 1100 строк, или то что он работает только в половине браузеров.
Но если же тебе интересно как это работает, прошу под кат.
User
curl http://npmjs.org/install.sh | sh
npm install socket.io
<script src>
. Для CSS у нас есть <link rel="stylesheet">
. Для изображений <img>
. Для видео есть <video>
. Для аудио — <audio>
… Давайте ближе к сути! Для большинства видов контента есть простые способы его подгрузки. Но не для HTML. Для HTML у нас есть следующие варианты:<iframe>
— испробованный и рабочий, но тяжеловесный способ. Контент iframe'а живет в отдельном от главной страницы контексте. Хоть это и хорошая особенность, она также создает дополнительные трудности: подгонка размера айфрейма к его содержимому, работа с внутренними скриптами и стилями.xhr.responseType="document"
, но загрузка HTML при помощи JS выглядит как-то неправильно.<script type="text/html">
.