Статьи

Google Chrome Frame: технические подробности

Google Chrome Frame Google Chrome Frame — это первое реалистичное решение, которое решает проблему Internet Explorer 6.0 . Это позволяет корпоративным пользователям сохранять IE для устаревших систем, но предоставлять расширенные функции в новых приложениях (подробнее об этом позже) .

Я тестировал Chrome Frame последние несколько дней, и я впечатлен.

Установка Chrome Frame

Установить Chrome Frame так же просто, как установить Flash, программу просмотра PDF или любой другой плагин IE. Полное 10 МБ приложение загружается и устанавливается в течение нескольких минут. Процесс быстрый, безболезненный и не требует перезапуска браузера.

Chrome Frame доступен для IE6, IE7 и IE8. Я не уверен, что многим пользователям IE8 это понадобится; проблемы скорости и рендеринга в этом браузере встречаются реже. Однако плагин позволит разработчикам использовать функции HTML5, CSS3, canvas и SVG, которые раньше были технически невозможны.

Под капотом

Chrome Frame устанавливается как вспомогательный объект браузера; Windows DLL, которая расширяет функциональность IE. BHO — это стандартный метод, используемый для добавления панелей инструментов и других плагинов, поэтому Google использует собственную документированную платформу Microsoft. Если бы Microsoft захотела убить Chrome Frame, это было бы технически трудно достичь, не затрагивая другие плагины.

BHO также используются разработчиками вредоносных программ и вирусов. Microsoft исправила эту проблему в XP SP2, выполнив изолированную программную среду BHO-кода и выпустив менеджер дополнений, который позволяет пользователям отключать недобросовестный код. Поэтому для Chrome Frame требуется IE6 на XP SP2 как минимум.

IE интеграция

Chrome Frame поддерживает многие функции браузера IE, такие как закладки, история, файлы cookie и пароли. Это важно для конечных пользователей; он сохранит их учетные данные независимо от того, какой механизм рендеринга используется.

К сожалению, другие плагины могут вызвать путаницу. Хотя Flash может быть установлен в IE, вам также необходимо установить плагин в Chrome. Это не может быть огромной проблемой; Flash-сайты вряд ли выиграют от перехода на Chrome. Однако я бы посоветовал Google исследовать обнаружение и автоматическую установку популярных плагинов.

Скорость и стабильность

Смущает, что ComputerWorld сообщает, что IE8 работает в 10 раз быстрее с Chrome Frame . На самом деле они имеют в виду, что движок Chrome Webkit в 10 раз быстрее, чем движок IE Trident, по сравнению с набором тестов SunSpider JavaScript . SunSpider не является реальным тестом скорости рендеринга страниц, и Chrome Frame не влияет на скорость IE по умолчанию.

Тем не менее, страницы, отображаемые в Chrome, заметно быстрее и позволяют запускать несовместимый с IE код, например превосходный эмулятор JSNES JavaScript NES .

Chrome Frame все еще находится в бета-версии и есть проблемы. Например, у меня возникли проблемы с рендерингом в GMail, хотя это нормально как в IE6, так и в браузере Chrome.

Chrome Frame для разработчиков

IE переключится на рендеринг Chrome Frame, если в заголовок HTML добавлен следующий метатег:

 <meta http-equiv="X-UA-Compatible" content="chrome=1"> 

Кроме того, страницы можно тестировать в Chrome Frame, добавив «cf:» в начало полного URL-адреса, например

ср: Http: //www.sitepoint.com/

Инструменты разработчика Webkit включены, поэтому можно щелкнуть правой кнопкой мыши страницу Chrome и выбрать «Проверить элемент». Было бы замечательно, если бы тот же инструмент мог использоваться в представлении IE, но, возможно, это требует слишком много!

Доступность, прогрессивное улучшение и Chrome Sniffing

Я собираюсь сделать заявление, которое расстроит некоторых разработчиков. Пожалуйста сядьте. Готов? Конечно? Вот оно…

Chrome Frame не позволяет отказаться от поддержки IE6!

Многие пользователи будут продолжать использовать IE6 без Chrome Frame. Многие компании заблокируют плагин. Пользователи со специальными технологиями IE могут не иметь возможности использовать Chrome Frame.

Так какой в ​​этом смысл?

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

Chrome Frame добавляет «chromeframe» в строку агента пользователя IE при его установке, например

 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; chromeframe) 

Поэтому вы можете использовать код на стороне сервера для обнаружения присутствия Chrome, добавления метатега HTML, включения улучшений или отображения ссылки на страницу загрузки плагина. Google также предоставляет код обнаружения JavaScript Chrome Frame .

Будут ли пользователи использовать Chrome Frame?

Chrome Frame все еще находится в стадии разработки, и есть некоторые технические проблемы, которые я не могу порекомендовать на этом этапе. Тем не менее, будущее обещает. Корпорации и частные пользователи могут не иметь возможности или не хотят обновлять свои браузеры, но установка ненавязчивого плагина значительно проще.

Связанное чтение: