Реклама

Главная arrow Библиотека
 

Веб-спецификации, поддерживаемые в Opera 9

Поддержка HTML и XHTML в Opera

HTML 4.01

Opera поддерживает HTML 4.01 с этими исключениями:

  • Не поддерживаются атрибуты событий для элемента ‘option’
  • Не поддерживает MultiLength для атрибута ‘width’ элемента ‘col’
  • Не поддерживаются атрибуты ‘standby’ и ‘declare’ элемента ‘object’ .
  • Не поддерживаются атрибуты ячейки таблицы ‘char’ и ‘charoff’ .

Web Forms 2.0

Opera экспериментально поддерживает Web Forms 2.0. Web Forms 2.0 — в процессе разработки.

Модуляризация XHTML 1.0 и XHTML

Есть два “режима” поддержки XHTML, первый — это когда документ имеет тип содержимого ‘text/html’ , и второй — это когда тип содержимого один из ‘text/xml’ , ‘application/xml’ или ‘application/xhtml+xml’ . В первом случае управление документом происходит также, как и любым другим документом HTML (фактически поддерживаются XHTML 1.0, XHTML Basic и XHTML 1.1). Во втором случае — XHTML будет обработан как XML с предопределенной функциональностью для элементов и атрибутов HTML. Opera поддерживает оба режима.

Поддержка XHTML 1.1

Opera поддерживает XHTML 1.1 с этими исключениями:

  • Не поддерживаются атрибуты событий для элемента ‘option’ .
  • Не поддерживает ‘MultiLength’ для атрибута ‘width’ элемента ‘col’ .
  • Не поддерживаются атрибуты ‘standby’ и ‘declare’ элемента ‘object’ .
  • Не поддерживаются атрибуты ячейки таблицы ‘char’ и ‘charoff’ .
  • Не поддерживаются аннотации ‘Ruby’ .

XHTML Basic

Opera поддерживает XHTML Basic без исключений.

OMA XHTML Mobile Profile

Opera без исключений поддерживает расширения XHTML Mobile Profile 1.0 и 1.1 для XHTML Basic. Она поддерживает XHTML Mobile Profile 1.2 за исключением атрибута ‘declare’ элемента ‘object’ .

Поддержка XHTML+Voice (X+V)

С компонентом “IBM Voice” Opera полностью поддерживает XHTML+Voice profile 1.2 (и подмножество Mobile Profile). Поддержка X+V включает поддержку CSS3 Speech (с префиксом -xv- поскольку этот модуль — в процессе разработки). Чтобы был эффект, X+V должен быть представлен в качестве XML-медиа типа (application/xml, application/xhtml+xml, application/x-xhtml+voice+xml) для XML Events. Дополнительную информацию можно получить просмотрев документацию разработчиков X+V.

Поддержка WML 1.3 и 2.0

Wireless Markup Language (WML) версий от 1.0 до 1.3, который базируется на подсистеме HTML, нужно рассматривать как отдельный язык разметки для большого количества практических применений. WML 2.0 может лучше считаться расширением XHTML Basic с возможностями WML 1.3.

Opera поддерживает WML 1.3 and 2.0 со следующими исключениями:

  • Атрибуты колонок
  • Входящий код форматирования ‘<lang:class>’
  • Элемент ‘wml:getvar’

Поддержка виджетов

Opera поддерживает HTML-виджеты так, как описано здесь. Формат виджетов в настоящее время не стандартизован, но по существу он является незначительным расширением HTML и ECMAScript с упакованными свойствами.

Поддержка XML

Opera может осуществлять синтаксический анализ и отображение XML-документов. Opera может быть и проверяющим (validating) и непроверяющим (non-validating) процессором.

Документы с типом содержимого text/xml, application/xml или с подтипом, оканчивающимся на +xml будут обрабатываться как XML-документы. Если тип содержимого не указан, то расширение файла .xml так же приведет к тому, что документ будет обрабатываться как XML. Opera не использует US-ASCII как набор символов по-умолчанию для text/xml, но в остальном следует RFC3023. Мы рекомендуем использовать application/xml вместо text/xml или использовать явное объявление набора символов.

XSLT, XPath, и XSL-FO

Opera поддерживает XSLT 1.0 и XPath 1.0 со следующими исключениями:

  • Элемент ‘namespace-alias’ не поддерживается
  • Атрибуты ‘Nan’ , ‘per-mille’ , ‘minus-sign’ , и ‘percent’ для элементов с десятичными значениями не поддерживается
  • Атрибут ‘case-order’ для элемента ‘sort’ не поддерживается

Opera не поддерживает XSL-форматированные объекты.

Области имен XML и XML ID

Opera полностью поддерживает области имен XML.

Поддержка областей имен для text/html прекращена начиная с Opera 9.

Opera поддерживает атрибут ''xml:id''.

XML Events

Opera поддерживает XML Events и они используются в X+V. HTML ‘script’ и VoiceXML ‘form’ могут быть обработчиками для XML Events.

Поддержка CSS

CSS версия 1

Opera поддерживает все CSS1.

CSS версия 2

Opera поддерживает все CSS2 за исключением:

  • Этих свойств:
    • ‘font-size-adjust’ ,
    • ‘font-stretch’ ,
    • ‘marker-offset’ ,
    • ‘marks’ , и
    • ‘text-shadow’ ,
  • Типов стилей списка ‘cjk-ideographic’ , ‘hebrew’ , ‘hiragana’ , ‘hiragana-iroha’ , ‘katakana’ , ‘katakana-iroha’ .
  • Этой комбинации свойств/значений:
    • “display: marker”,
    • “text-align: <string>”,
    • “visibility: collapse”.
  • Именованных страниц (как описано в разделе 13.3.2).
  • Конструкции “@font-face”.
  • Селектора ‘:lang()’ .

CSS версия 2 редакция 1

http://www.w3.org/TR/CSS21/">CSS 2.1 — в настоящее время является W3C Candidate Recommendation, соответствие определено с последней версией, но финальная версия рекомендации может отличаться.

Opera поддерживает все CSS2.1 за исключением:

  • Значений параметров ‘visibility: collapse’ и ‘white-space: pre-line’

CSS Mobile profile

Opera полностью поддерживает CSS Mobile profile.

WAP CSS

WAP CSS является расширением CSS Mobile Profile. Opera полностью поддерживает WCSS версий 1.0 и 1.1.

Предлагаемые свойства CSS 3, поддерживаемые Opera

Примите во внимание, что эти своства находятся в ранней стадии разработки, их могут изменить или удалить из спецификации в любое время. Используйте их в качестве эксперимента.

  • Частичная поддержка Media Queries
  • ‘content’ применимо во всех элементах, не применимо только для псевдоэлементов ‘:before’ и ‘:after’
  • ‘box-sizing’
  • ‘opacity’

Расширения со ссылками CSS в Opera

Opera использует CSS-подобные свойства для присоединения информации к XML-элементам, которые не могут быть представленными иначе. Три свойства расширения были осуществлены, чтобы позволить гиперссылкам и рисункам быть включенными в XML-документы. Чаще всего авторам лучше использовать XHTML вместо свойств, описанных ниже, для того, чтобы представить семантику документа, но они описаны здесь для справкии.

CSS-расширения для XML

Свойство: -o-link
Values: none | attr(<attribute-name>)
Initial: none
Inherited: no
Description: Эта настройка определяет значение переменной ‘link’ , которая может впоследствии использоваться для генерации ссылки через свойство ’ -o-link-source’ .

Свойство: -o-link-source
Values: none | current | next
Initial: none
Inherited: no
Description: Эта настройка определяет элементу быть source anchor и, если так, объявляет которое значение переменной ‘-o-link’ должно быть использовано: текущее или следующее.

‘-o-replace’ — больше не поддерживается. Это, как ожидают, будет заменено эквивалентным механизмом CSS3.

XML и CSS

Чтобы отображать XML-документ, должна быть представлена таблица стилей CSS. Автор может присоединить таблицу стилей к своим XML-документам как выполняемые инструкции. Здесь приведен небольшой пример:

<?XML version="1.0"?> <?xml-stylesheet href="shakespeare.css" type="text/css"?>

Если таблица стилей не представлена и страницы не озаглавлены как HTML, Opera 9 будет использовать начальные значения во всех свойствах CSS для отображения документа. Все элементы будут действующими, и весь текст будет представлен в том же самом шрифте.

Поддержка ECMAScript

ECMAScript — это стандартизованная версия JavaScript Core. Он был стандартизован стандартом ECMA. ECMAScript не содержит объекты, связанные с браузером или документами.

Opera поддерживает все 2-е и 3-и стандарты ECMA-262, без исключений. Они более или менее совпадают с JavaScript 1.3/1.5 Core.

Поддержка DOM

DOM 2 Core

Opera полностью поддерживает Основные (Fundamental) интерфейсы DOM 2 Core, за небольшим исключением. Opera не поддерживает его Расширенные (Extended) интерфейсы: Notation, Entity, и EntityReference.

DOM 2 HTML

Opera полностью поддерживает DOM 2 HTML, с небольшими исключениями, касающимися расширений поддержки HTML.

DOM 2 Events

Opera 9 полностью поддерживает DOM 2 Events, без исключений. Работа над DOM 3 Events возобновлена в W3C, и мы ожидаем, что там не будет исключений, когда он станет рекомендацией.

DOM 2 Style

Opera поддерживает DOM 2 Style с некоторыми исключениями. Этот модуль находится в стадии разработки в W3C и мы ожидаем полную поддержку обновленной версии.

DOM 2 Range

Opera поддерживает DOM 2 Range.

DOM 2 Traversal

Opera поддерживает DOM 2 Traversal, с некоторыми исключениями.

DOM 3 Load and Save

Opera поддерживает Load and Save, с некоторыми исключениями.

DOM 3 XPath

Opera поддерживает DOM 3 XPath, с некоторыми исключениями. Это в настоящее время является примечанием W3C.

XMLHTTPRequest (XHR)

XMLHTTPRequest находится в процессе разработки, и мы надеемся полностью поддерживать его, когда он станет рекомендацией.

Canvas

Opera в качестве эксперимента поддерживает Canvas. Спефикация Canvas находится в стадии разработки.

Поддержка сетевых протоколов

Opera полностью поддерживает HTTP 1.0 и HTTP 1.1. Здесь приведены некоторые основные факты:

  • Постоянные подключения (многократный запрос/ответ через одно подключение).
  • Cachecontrol для режима без кэша (всегда проверяется наличие свежего документа), и no-store (без сохранения на диск).
  • Basic Authentication (пароли). Поддерживается Digest Authentication, за исключением проверки целостности в теле.
  • Возобновление загрузки, применимое в том случае, если сервера поддерживают это.
  • Поддержка SSL/TLS (так же через прокси/файервол).
  • Прокси для HTTP, FTP, Gopher и WAIS.

Шифрование: 128-битное шифрование (только обмен ключами RSA) для Secure Sockets Layer (SSL) версий 2 и 3, и приемника Transport Layer Security (TLS) 1.0 и 1.1. SSL 2 является устаревшим и по-умолчанию не поддерживается. Шифрование поддерживается для HTTP (веб), NNTP (новости), POP и SMTP (e-mail). Поддержка сгенерированных секретных ключей и передачи сертификатов запросов.

Новости: простая сетевая программа чтения конференций с поддержкой зашифрованных новостных серверов и новостных серверов с паролями. Может декодировать отдельные вложения статьи, MIME или кодируемые программой uuencode.

Поддержка FTP, включая возобновления загрузки.

Возможно загружать файл и через FTP и через HTTP.

Текст и интернационализация

Поддержка Unicode в Opera

Opera может работать со всеми символами в кодировке Unicode. Весь текст, поступающий в Opera из сети, конвертируется в Unicode.

Для того, чтобы Opera могла отображать символы Unicode, необходимые глифы должны быть доступными в шрифтах, установленных в Вашей системе. Это может быть проблемой для старых систем Windows. Информацию о доступных шрифтах можно получить просмотрев Шрифты Unicode для компьютеров с Windows.

Opera 9 осуществляет следующую запись функциональности, связанной с системой:

переключение шрифтов

Требуется для отображения символов, которые текущий шрифт не содержит.

перенос строки

Требуется для переноса строк скриптов, не содержащих пробелов, например на Корейском, Китайском или Японском.

Opera полагается на операционную систему, чтобы выполнить:

формирование символов

Контекстный выбор глифа, формирование лигатуры, накопление символа, комбинированная поддержка символов и т.д.

Поддержка устаревших кодировок

Хотя Opera работает с кодировкой Unicode (UTF-16 и UTF-8), большинство текста в Интернете закодировано в устаревших кодировках, например — ISO 8859-1, Windows-1251, Shift-JIS, EUC-KR. Opera управляет ими путем определения используемой кодировки символов и конвертирования их в UTF-16. У пользователя есть три опции для управления такими страницами.

Автоопределение

В этом режиме Opera попытается определить используемую на странице кодировку. Если транспортный протокол предоставляет название кодировки — она будет использована. Если нет, то Opera просмотрит страницу на наличие указания кодировки символов. Если и это не удастся — Opera попытается автоопределить кодировку используя имя домена для просмотра если скрипт является скриптом CJK, и если так — который. Opera может также автоопределять UTF-8.

Написание скрипта автоопределения

В этом режиме пользователь может сказать, что это Японская или Китайская страница, но что кодировка неизвестна. Opera затем анализирует текст на странице для определения используемой кодировки.

Назначение кодировки

В этом режиме пользователь выбирает кодировку. Эта кодировка будет использоваться Opera, независимо от того, какая кодировка заявлена страницей и протоколом транспортировки.

Устаревшие кодировки

Эта таблица показывает все устаревшие кодировки, поддерживаемые Opera в дополнение к Unicode:

Кодировка Категория Комментарии
ISO 8859-1 Latin
ISO 8859-2 Latin Используется в Восточной Европе
ISO 8859-3 Latin Редкая
ISO 8859-4 Latin Саамские и балтийские страны
ISO 8859-9 Latin Турецкая
ISO 8859-10 Latin Эскимосы, Саамы и Исландия
ISO 8859-13 Latin Редкая
ISO 8859-14 Latin Кельтская
ISO 8859-15 Latin Предназначенная для замены 8859-1
Windows-1250 Latin Используется в Восточной Европе
Windows-1252 Latin
Windows-1254 Latin Турецкая
Windows-1257 Latin Балтия
Windows-1258 Latin Вьетнамская
VISCII Latin Вьетнамская
IBM 866 Cyrillic
ISO 8859-5 Cyrillic
koi8-r Cyrillic
koi8-u Cyrillic Украинская версия koi8-r
Windows-1251 Cyrillic
ISO 8859-6 Arabic
Windows-1256 Arabic
ISO 8859-7 Greek
Windows-1253 Greek
ISO 8859-8 Hebrew
Windows-1255 Hebrew
ISO 8859-11 Thai Также известная как TIS-620
Windows-874 Thai Расширение ISO 8859-11
utf-8 Unicode
utf-16 Unicode
Shift-JIS Japanese
ISO-2022-JP Japanese
EUC-JP Japanese
Big 5 Chinese
EUC-CN Chinese Также ошибочно известная как GB 2312
HZ-GB-2312 Chinese Прежде всего используемый в e-mail
EUC-TW Chinese
GBK Chinese Расширение EUC-CN
EUC-KR Korean

Поддержка двунаправленного текста

Opera поддерживает двунаправленный текст как описанно в Unicode, HTML, и CSS.

Поддержка графики

Масштабируемая векторная графика (SVG)

Полная таблица поддержки SVG

Opera поддерживает расширенный набор SVG 1.1 Basic и SVG 1.1 Tiny с некоторыми исключениями. Это относится к частичной поддержке SVG 1.1.

Событие, обращенное к другому событию — поддерживается, но некоторые события не отправляются приложениями, например, ‘focusin’ , ‘focusout’ и ‘activate’ . Определяемые Adobe события ‘keyup’ и ‘keydown’ — не поддерживаются. Шрифты — поддерживаются, включая ‘font-family’ , но если он является отсутствующим глифом в выбранном шрифте, то используется определенный в платформе по-умолчанию переход на аварийный режим вместо того, чтобы выбрать этот глиф из следующего шрифта в строке, определенной в свойстве ‘font-family’ .

SVG могут использоваться в ‘object’ , ‘embed’ , и ‘iframe’ в HTML, и как автономные документы. Это не поддерживается для элементов ‘img’ или в значениях свойств CSS (например, ‘background-image’ ). Элемент ‘image’ SVG может содержать другую поддерживаемую растровую графику, но не другие SVG-изображения.

SVG-изображения распечатываются как точечные рисунки.

SVG обрабатывается как XML и применяются те же самые правила, что и для well-formedness и областей имен. Opera также следует правилам соответствия SVG — это требуется для того, чтобы остановить обработку, если встретилась какая-нибудь неизвестная функция.

Выполнение

Эти функции — сильно нагружают процессор и должны использоваться с осторожностью при применении на машинах с более медленными процессорами: фильтры, уровни прозрачности (непрозрачность группы) и маски.

Растровая графика

Opera полностью поддерживает GIF89a, JPEG, BMP, ICO, WBMP, и полностью поддерживает PNG, включая альфа-канал (степень прозрачности) и поддержку гаммы (независимые от устройств цвета).


Оригинал статьи: Web Specifications Supported in Opera 9

Copyright Opera Software ASA. Все права зарезервированы

OperaFan.net, 2007. Ermir, неофициальный перевод.

 
docs/webspecs.txt (6313 views) · Последние изменения: 2007/02/20 06:50