Dual Kernel Browser Технология управления переключением ядра

внешний интерфейс Безопасность браузер 360

Что такое двухъядерный браузер

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

Что такое двухъядерный

  • Ядро Blink/Webkit на основе Chromium. В отечественных браузерах это обычно называется «чрезвычайно быстрое ядро/чрезвычайно быстрый режим». Ядро обновляется обновлениями этого браузера.
  • ядро ИЕ. Как правило, в отечественных браузерах это называется "режим ядра/совместимости IE", что означает вызов встроенного IE в системе Windows. Дело не в том, что браузер имеет только встроенный набор IE. Ядро обновляется с обновлением Windows или IE.

    Единственным исключением является то, что в 2012 году браузер безопасности 360 когда-то запускал версию со встроенным IE.

Режим совместимости ядра IE

Некоторые отечественные браузеры могут переключать свой "режим совместимости" под "ядром IE" Это не для переключения разных версий ядра IE, а для вызова разных "режимов документа" ядра IE в системе.Подробную информацию смотрите здесь. Это может вызвать некоторые проблемы. Например, пользователь А установил в систему IE8 и использует «режим совместимости-7» браузера QQ; пользователь Б установил в систему IE11, а также использует «режим совместимости-7» браузера QQ, хотя оба используют один и тот же браузер и выбран один и тот же режим совместимости, но есть большие различия во многих деталях DOM, таких как элементы формы html5.

Как настроить механизм рендеринга для использования вашим сайтом

в HTML<head>Добавьте в тег следующий код:

<!DOCTYPE html>
<html>
<head>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  ... 以下代码省略

Здесь мы добавляем всего три инструкции по рендерингу в браузере:

  • <meta name="renderer" content="webkit">серединаwebkitкомандой, вы можете заставить QQ, Maxthon, 360 и другие браузеры использовать ядро ​​Chromium для отображения страниц по умолчанию.
  • X-UA-CompatibleсерединаIE=edgeКоманда может заставить IE или браузер, который вызывает ядро ​​IE, использовать стандартный режим для отображения веб-страницы.Обратите внимание, что это не имеет ничего общего с «пограничным браузером», просто у него такое же имя.
  • X-UA-Compatibleсерединаchrome=1команда для установкиПлагин GCFIE, который использует ядро ​​Chromium для отображения страницы при ее открытии.

Есть несколько важных ям, на которые следует обратить внимание:

  • <meta>Метка должна появиться в<head>внутри верха, иначе браузер может его не распознать.
  • <!DOCTYPE html>Объявление типа документа должно быть написано, иначе различные ядра браузера будут отображать веб-страницы в «режиме IE5 (также известном как специальный режим, специальный режим)».
  • При тестировании эффекта доступ к веб-сайту должен осуществляться с использованием доменного имени, а интранет-адрес или локальный адрес могут быть недействительными для некоторых браузеров.
  • Если пользователь когда-либо выбирал механизм рендеринга, браузер запомнит этот выбор, и он будет иметь приоритет над нашими директивами. Если вы случайно нажмете во время теста, вам необходимо удалить браузер и при необходимости очистить данные пользователя, а затем установить его заново.
  • Вы должны попытаться убедиться, что ядра рендеринга всего сайта согласованы, чтобы избежать проблемы потери файлов cookie, которая может быть вызвана переключением ядра.

Оценка текущего ядра браузера и режима документа через js

<script src="//gucong3000.github.io/browser.js/browser.min.js"></script>
<script>
if (browser.MSIE) {
  alert("系统IE版本:" + browser.rv + "\n文档模式:" + browser.MSIE);
} else if (browser.Edge) {
  alert("Edge内核浏览器");
} else if (browser.Webkit) {
  alert("Blink/Webkit内核的浏览器");
} else if (browser.Gecko) {
  alert("Gecko内核的浏览器");
}
</script>

Ссылка на справочную документацию

Разработчики могут контролировать переключение ядра

Только поддержка пользователей для независимого переключения ядра

Информация отсутствует или неясна