文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Web Specifications Supported in Opera 8

Web Specifications Supported in Opera 8

时间:2005-05-01  来源:freelamp

This page applies to the Linux and Windows version 8 of Opera. For Opera version 7, see Specifications for Opera 7.

HTML and XHTML support | XHTML Mobile Profile support | XHTML+Voice support | WML support | XML support | CSS support | ECMAScript support | DOM support | Networking support | Text and internationalization | Graphics support

Opera HTML and XHTML support

HTML 4.01

Opera version 8 supports HTML 4.01 with these exceptions:

  • Event attributes are not supported for the option element
  • The col width attribute does not support multilengths
  • The object standby and declare attributes are not supported.
  • The table cell attributes char and charoff are not supported.

XHTML 1.0 and XHTML Modularization

There are two "modes" of XHTML support, one where the document has the text/html content type and the other where it has one of text/xml, application/xml or application/xhtml+xml. In the first case the document is handled as any other HTML document (giving de facto support for XHTML 1.0, XHTML Basic and XHTML 1.1). In the second case XHTML will be treated as XML with predetermined functionality for HTML elements and attributes. Opera supports both modes.

XHTML 1.1 support

Opera version 8 supports XHTML 1.1 with these exceptions:

  • Event attributes are not supported for the option element
  • The col width attribute does not support multilengths
  • The object standby and declare attributes are not supported.
  • The table cell attributes char and charoff are not supported
  • Ruby annotations are not supported

XHTML Basic

Opera 8 supports XHTML Basic with no exceptions.

OMA XHTML Mobile Profile

Opera 8 supports the XHTML Mobile Profile 1.0 and 1.1 extensions to XHTML Basic with no exceptions.

XHTML+Voice (X+V) support

With the IBM Voice component Opera supports the XHTML+Voice profile 1.2 (and the Mobile Profile subset). The support of X+V includes support of CSS3 Speech (with an -xv- prefix as this module is under preparation). X+V needs to be served as an XML media type (application/xml, application/xhtml+xml, application/x-xhtml+voice+xml) for XML Events to take effect. For more information see the X+V developer documentation.

WML 1.3 and 2.0 support

Wireless Markup Language versions 1.0 to 1.3, while based on an HTML subset, must be considered a separate markup language for most practical purposes. WML 2.0 can better be considered an extension of XHTML Basic with WML 1.3 features.

Opera 8 supports WML 1.3 and 2.0 with the following exceptions:

  • The columns attribute
  • The input formatting code
  • the wml:getvar element

XML support

Opera 8 can parse and display XML documents. Documents with Content-type "text/xml" or "application/xml" will be treated as an XML document. If a Content-type is not available, the ".xml" file extension will also make the document be treated as XML.

XSL and XSLT

Opera does not support XSL formatting objects, and neither does it natively support XSLT transformations. XML documents transformed server side will be parsed and displayed by Opera just like any other XML document.

XML namespaces

Opera 8 fully supports XML namespaces. Here are some of the namespaces Opera recognizes:

Specification Namespace
XML
XML Events http://www.w3.org/2001/xml-events
XHTML http://www.w3.org/1999/xhtml
WML http://www.wapforum.org/2001/wml
VoiceXML http://www.w3.org/2001/vxml
XHTML+Voice http://www.voicexml.org/2002/xhtml+voice
SVG http://www.w3.org/2000/svg

Namespace support for text/html has been discontinued with Opera 8.

XML Events

Opera supports XML Events and it is used in X+V. HTML script and VoiceXML form can be handlers for XML Events.

CSS support

CSS Level 1

Opera 8 supports all of CSS1.

CSS Level 2

Opera 8 supports all of CSS2 with the exception of:

  • These properties: font-size-adjust, font-stretch, marker-offset, marks, and text-shadow,
  • The list style types cjk-ideographic, hebrew, hiragana, hiragana-iroha, katakana, katakana-iroha.
  • These property/value combinations: "display: marker", "text-align: ", "visibility: collapse".
  • Named pages (as described in section 13.3.2).
  • The "@font-face" construct.
  • The :lang() selector

CSS Level 2 Revision 1

CSS 2.1 is currently a W3C Candidate Recommendation, compliance is measured against the latest version, but the final Recommendation may differ.

Opera 8 supports all of CSS2.1 with the exception of:

  • The visibilty: collapse and white-space: pre-line property values

CSS Mobile profile

Opera 8 fully supports CSS Mobile profile.

WAP CSS

WAP CSS is an extension of CSS Mobile Profile. Opera 8 fully supports WCSS versions 1.0 and 1.1.

Proposed CSS 3 properties supported by Opera

Note that these properties are at an early stage of development, they may be changed or removed from the specifications at any time. Use them as experimental.

  • Experimental support for Media Queries
  • content is applicable on all elements, not just on the :before and :after pseudo-elements
  • box-sizing

Opera CSS linking extensions

Opera 8 uses CSS-like properties to attach information to XML elements that cannot otherwise be represented. Three extension properties have been implemented to allow hyperlinks and images to be included in XML documents. Most often it's better for authors to use XHTML - rather than the properties described below - to represent document semantics, but they are described here for reference.

CSS Extensions for XML
Property: -o-link
Values: none | attr()
Initial: none
Inherited: no
Description: This property sets the value of the "link" variable which can later be used to generate a link through the "-o-link-source" property.
Property: -o-link-source
Values: none | current | next
Initial: none
Inherited: no
Description: This property sets the element to be a source anchor and, if so, declares which value of the '-o-link' variable that should be used: the current or the next.
Property: -o-replace
Values: none | attr(x)
Initial: none
Inherited: no
Description: This property declares the element to be replaced or not. If replaced, the attr() function is used to point to the attribute where the URI to the content can be found.

Some differences from Internet Explorer and Netscape

When using the Opera browser, you may notice that some pages are displayed differently than in other browsers. In most cases, the differences are caused by errors in the pages that are being displayed. Few Web pages are authored according to W3C's specifications which Opera supports. Opera 8 has two rendering modes, Standards Mode and Quirks Mode. For a full documentation on this, see separate document.

  • The displayed color of an hr is set with the background-color CSS property in Opera and Netscape 6+. In Netscape 4 and IE it is set with the color property. Setting both properties to the desired color will give the same result in all browsers. This will not give the intended effect if content is added to hr with the content property, but Netscape 4 and IE don't support this anyway.
  • The default style sheet in IE and Netscape gives the body element margin: 8px, Opera uses padding: 8px. Padding is the margin between the body element and the content, while margin is the margin between the body and the html element (or the head element if visible). If either margin or padding is explicitly set on body, the other property should be set too.
  • The CSS improvements in IE6 are already implemented in Opera. This means that IE6's display of web pages in standards-compliant mode is much closer to Opera's web page display. For further information, see the Microsoft documentation on IE6.

XML and CSS

In order to display an XML document, a CSS style sheet should be present. Authors can attach style sheets to their XML documents through a processing instruction. Here is a simple example:

   

If no style sheet is present and the page is not namespaced to HTML, Opera 8 will use the initial values on all CSS properties to display the document. All elements will be inline, and all text will be rendered in the same font.

ECMAScript support

ECMAScript is the standardized version of JavaScript Core. It is being standardized through the ECMA standards body. ECMAScript does not include browser and document related objects.

Opera 8 supports the entire ECMA-262 2ed and 3ed standard, with no exceptions. They are more or less aligned with JavaScript 1.3/1.5 Core.

DOM support

DOM 2 Core

Opera 8 has full support for the Fundamental interfaces, apart from these exceptions:

Document

  • createEntityReference()

DocumentType

  • internalSubset

Opera 8 does not support these Extended interfaces:

  • Notation
  • Entity
  • EntityReference

DOM 1 HTML

Opera 8 has full support for this module, apart from these objects:

  • HTMLDirectoryElement
  • HTMLBaseElement
  • HTMLBaseFontElement

and these properties and methods:

HTMLOptionElement

  • label

HTMLObjectElement

  • declare

HTMLScriptElement (partial support)

  • HTMLFor
  • event

HTMLTableColElement, HTMLTableSectionElement, HTMLTableRowElement, HTMLTableCellElement

  • ch
  • chOff

HTMLTableCellElement

  • abbr

DOM 2 Events

Opera 8 has full support of DOM 2 Events and UI Events interfaces, with no exceptions.

DOM 2 Style

Opera 8 has partial support of DOM 2 Style, consisting of support for these objects:

ElementCSSInlineStyle

CSSStyleDeclaration

Opera supports all of CSS2Properties except for these properties and methods:

  • CSSText
  • parentRule
  • getPropertyCSSValue()
  • getPropertyPriority()

CSS2Properties

Opera supports all of CSS2Properties except for these properties:

  • captionSide
  • counterIncrement
  • direction
  • fontSizeAdjust
  • fontStretch
  • markerOffset
  • marks
  • tableLayout
  • textShadow
  • unicodeBidi
  • all Aural CSS properties

Networking protocols support

Opera 8 has full support for HTTP 1.0 and HTTP 1.1. Here are some highlights:

  • Persistent connections (multiple request/response through one connection)
  • Cachecontrol for no-cache (always check for fresh document) and no-store (don't save to disk)
  • Basic Authentication (passwords). Supports Digest Authentication, excepting integrity check on body. No current plans to support NTLM
  • Resume download, provided the server supports it
  • SSL/TLS support (also through proxy/firewall)
  • Proxy for HTTP, FTP, Gopher and WAIS

Encryption: 128 bit encryption (RSA key exchange only) for the Secure Sockets Layer (SSL) versions 2 and 3, and the successor Transport Layer Security (TLS) v1.0. This is supported for HTTP (web), NNTP (news), POP and SMTP e-mail). Support for generating private keys and submitting certificate requests.

News: simple online newsreader with support for encrypted newsservers and newsserver with passwords. Can decode single article attachments, MIME or uuencoded.

FTP including resume download is supported.

It is possible to download to file for both FTP and HTTP.

Text and internationalization

Unicode support in Opera

Opera can work with all the characters in the Unicode specification. All text communicated to Opera from the network is converted into Unicode.

In order for Opera to render Unicode characters, the needed glyphs have to be available in the fonts on your system. This might be a problem for older Windows systems. For information on available fonts, see Unicode fonts for Windows computers.

Opera 8 implements the following writing system related functionality:

font-switchingNeeded in order to display characters that the current font does not include.line-breakingNeeded in order to break scripts written without spaces, such as Chinese, Korean, and Japanese.

Opera relies on the operating system to perform:

character shapingContextual glyph selection, ligature forming, character stacking, combining character support etc.

Legacy encoding support

Although Opera works with Unicode encodings (UTF-16 and UTF-8), most text on the Internet is encoded in legacy encodings, for instance ISO 8859-1, Windows-1251, Shift-JIS, EUC-KR. Opera handles this by detecting the character encoding used, and converting it to UTF-16. The user has three options for how to handle these pages.

Auto-detectIn this mode Opera will attempt to detect the encoding used by the page. If the transport protocol provides an encoding name, that is used. If not, Opera will look at the page for a charset declaration. If this is missing, Opera will attempt to auto-detect the encoding, using the domain name to see if the script is a CJK script, and if so which one. Opera can also auto-detect UTF-8.Writing script auto-detectIn this mode the user can tell that this is a Japanese or Chinese page, but that the encoding is unknown. Opera will then analyze the text in the page to determine which encoding is used.Encoding overrideIn this mode the user selects an encoding. This encoding will be used by Opera, regardless of what the page and transport protocol claims is the encoding for the page.

This table shows all the legacy encodings Opera supports in addition to Unicode:

Legacy Encodings
Encoding Category Comments
ISO 8859-1 Latin
ISO 8859-2 Latin Used in Eastern Europe
ISO 8859-3 Latin Rare
ISO 8859-4 Latin Sami and Baltic country
ISO 8859-9 Latin Turkish
ISO 8859-10 Latin Inuit, Sami, and Icelandic
ISO 8859-13 Latin Rare
ISO 8859-14 Latin Celtic
ISO 8859-15 Latin Intended to supersede 8859-1
Windows-1250 Latin Used in Eastern Europe
Windows-1252 Latin
Windows-1254 Latin Turkish
Windows-1257 Latin Baltic
Windows-1258 Latin Vietnamese
VISCII Latin Vietnamese
IBM 866 Cyrillic
ISO 8859-5 Cyrillic
koi8-r Cyrillic
koi8-u Cyrillic Ukrainian version of 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 Also known as TIS-620
Windows-874 Thai Extension of 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 Also erroneously known as GB 2312
HZ-GB-2312 Chinese Primarily used in e-mail
EUC-TW Chinese
GBK Chinese EUC-CN extension
EUC-KR Korean

Support for bidirectional text

Opera 8 supports bidirectional text as described in Unicode, HTML, and CSS.

Graphics support

Raster Graphics

Opera 8 fully supports GIF89a, JPEG, BMP, ICO, WBMP and has full support for PNG including alpha channel (degrees of transparency) and gamma support (device independent colors).

Scalable Vector Graphics (SVG)

Opera 8 supports an extension of SVG 1.1 Tiny that includes opacity, font handling, and animation.

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载