Opera 7 でサポートされるウェブ仕様

このページは FreeBSD, Linux, Mac, Solaris, Symbian, TRON, Windows 版の Opera バージョン 7 に適用されます。Opera バージョン 6に関しては Opera 6 の仕様をご覧ください。

HTML と XHTML サポート | XHTML Mobile Profile サポート | WML サポート | XML サポート | CSS サポート | ECMAScript サポート | DOM サポート | JScript と Javascript サポート | ネットワークサポート | テキストと国際化 | グラフィックサポート

Opera のサポートする HTML および XHTML

HTML 4.01

Opera 7 は以下の例外を除き、HTML 4.01 をサポートします:

  • body 要素の alink 属性はサポートしていません。
  • option 要素の event 属性はサポートしていません。
  • col 要素の width 属性は multilengths(分割)をサポートしていません。
  • テーブルセルの属性 charcharoff はサポートしていません。
  • lang 属性はサポートしていません。
  • バージョン 7.1より table の framerules 属性がサポートされるようになりました。 CSS の border プロパティについてはすべてのバージョンでサポートされています。
  • 双方向アルゴリズム上書き要素 bdo および dir 属性がバージョン7.2で追加されました。

XHTML 1.0 および XHTML モジュール化

XHTML サポートの方法としては、2つのモードがあります。一つは、content type が text/html のドキュメントの場合、もう一つは、 content type が text/xml, application/xml, application/xhtml+xml のドキュメントである場合です。前者のケースではドキュメントは他の HTML ドキュメントと同様に処理されます ( XHTML 1.0, XHTML Basic, XHTML 1.1 の標準的なサポートも行います)。後者のケースでは、XHTML は HTML 要素および属性用にあらかじめ定義された機能を有する XML として処理されます。 "XML モード" において、Opera には以下の追加の例外があります:

  • script 要素のサポートは Opera 7.5 以降より追加されました。

XHTML 1.1 サポート

Opera 7 は以下の例外を除き、XHTML 1.1 をサポートしています:

  • option 要素の event 属性はサポートしていません。
  • テーブルセルの属性 charcharoff はサポートしていません。
  • lang 属性はサポートしていません。
  • ルビはサポートされていません。
  • 双方向アルゴリズム上書き要素 bdodir 属性が Opera 7.2 で追加されました。
  • script 要素のサポートは Opera 7.5 以降より追加されました。

XHTML Basic

Opera 7 では XHTML Basic を例外なくサポートしています。

OMA XHTML Mobile プロファイル

Opera 7 は XHTML Basic の拡張 XHTML Mobile プロファイル 1.0 を例外なくサポートしています。

WML 1.3 および 2.0 サポート

WML 1.0 から1.3までは、 HTML のサブセットに基づいていますが、実用的な目的のために作成された別個のマークアップ言語といえます。 WML 2.0 は、WML 1.3 の機能を有する XHTML Basic の拡張と言うべきでしょう。

Opera 7 は以下の例外を除く WML 1.3 および 2.0 をサポートしています:

  • localsrc 属性
  • columns 属性
  • 入力フォーマットコード <lang:class>
  • wml:getvar 要素

XML サポート

Opera 8 は XML ドキュメントを解析し表示することができます。 Content-type が "text/xml" または "application/xml" のドキュメントは XML ドキュメントとして処理します。 Content-type が不明の場合には、.xml ファイル拡張子も XML として処理します。

XSLXSLT

Opera はXSL formatting objects をサポートしません。また、 XSLT をサポートしません。サーバ側で変換処理された XML ドキュメントは、他の XML ドキュメントと同様に Opera にて解析されて表示されます。クライアントによる XSL-FO については Formatting Objects Considered Harmful をご覧ください。

XML 名前空間

Opera 7 はXML 名前空間をサポートします。XHTML 用の名前空間がもっとも頻繁に使用されます。 XHTML 名前空間 (http://www.w3.org/1999/xhtml) により Opera は ドキュメントを XHTML として扱います。

CSSサポート

CSS Level 1

Opera 7 は CSS1 をすべてサポートしています。

CSS Level 2

Opera 8 は以下の例外を除く CSS2 をサポートしています:

  • 以下のプロパティ: font-size-adjust, font-stretch, marker-offset, marks, and text-shadow,
    • 以下のプロパティは Opera 7.2 において追加されました: directionunicode-bidi
  • CSS2 上の list-style-type
  • 次のプロパティ/値の組み合わせ: "display: marker", "text-align: <string>", "visibility: collapse".
  • 名前つき page (セクション 13.3.2 にて解説)
  • "@font-face" コンストラクト
  • :lang() セレクタ

CSS Level 2 Revision 1

CSS 2.1 は、現在 W3C で草案とされています。準拠は最新バージョンの草案と比較されていますが、最終版は異なる内容となる可能性もあります。

Opera 7.5 は CSS2.1 をすべてサポートしています。 ただし初期のバージョンには以下の例外があります:

  • directionunicode-bidi (Opera 7.2以前)
  • :lang() セレクタ (Opera 7.5以前)

CSS Mobile プロファイル

Opera 7 はCSSCSS Mobile プロファイルを例外なくサポートします。

WAP CSS

WAP CSSCSS Mobile プロファイルの拡張です。次の WCSS プロパティはサポートしていません:

  • -wap-accesskey
  • -wap-input-format
  • -wap-input-required
  • -wap-marquee
  • -wap-marquee-style
  • -wap-marquee-loop
  • -wap-marquee-dir
  • -wap-marquee-speed

CSS 3(草案)で Opera がサポートするプロパティ

下記のプロパティは開発の初期段階なので、いつでも変更・削除される可能性があります。 実験用途としてお使いください。

  • Media Queries の実験的サポート
  • content 要素は :before , :after 疑似要素を除く全ての要素に使用可能
  • box-sizing

Opera 8 では、欠落していては表示不能な XML 要素への情報提供を行うために、CSS 風の属性を使用します。3つの拡張プロパティが実装され、ハイパーリンクおよび画像イメージが XML ドキュメントに挿入されるようになります。ほとんどの場合、以下で説明するプロパティよりも XHTML を使って作成した方が良いとされますが、ご参考までに掲載します。

XMLCSS拡張
プロパティ:-o-link
値:none | attr(<attribute-name>)
初期値:: n
継承: No
説明:このプロパティは 'link' 変数の値を設定し、それにより後に 'opera-use-link-source' プロパティを通じてリンクが生成されます。
プロパティ:-o-link-source
値:none | current | next
初期値:: n
継承: No
説明:このプロパティは要素を source anchor に設定し、現在ないし次の " -o-link " 変数のいずれの値を利用するかを宣言し
プロパティ:-o-replace
値:none | attr(x)
初期値:: n
継承: No
説明:このプロパティは要素が置き換えられるか否かを宣言します。置き換えられる場合、attr() function を用いてコンテンツの URI 情報が見つかった属性を指摘します。

さらに、Opera は CSS2 非標準の値 white-space プロパティの white-space: -o-pre-wrap を許容します。この値は white-space: pre と全く同じですが、例外として、 一行がボックス(containing box)よりも幅が広い場合は、端で折り返されます。 これは、メールのメッセージのような改行が予想できないプレーンテキストフォーマットを取り扱うときにとりわけ便利です。 -o-pre-wrap は他のホワイトスペース設定とは異なり、タブキャラクタを小さな箱のように表示します。

Internet Explorer および Netscape との、スタイル上における

Opera ブラウザをご利用になる場合、ページによっては他のブラウザ上とは異なって表示されることにお気づきになるかもしれません。 たいていの場合、相違は表示中のページにおけるエラーにより発生します。 ほとんどの Web ページは、Opera がサポートしている W3C の規格に沿って記述されていません。Opera 8 には、Standards モードと Quirks モードとの二つのレンダリングモードが適用されていますが、規格の方が優先されます。これらのモードに関する詳細は、こちらのドキュメント をご覧ください。

  • Opera 及び Netscape 6+ では、hr は CSS の background-colorプロパティで指定された色で表示されます。 Netscape 4 と IE では、color プロパティで指定された色で表示されます。 これら全てのブラウザで希望通りの色で表示するには、両方のプロパティを指定してください。 ただし、hrcontent が指定されている場合は、意図通りの効果が得られません。また、 Netscape 4 と IE のいずれにも対応していません。
  • IE と Netscape の標準スタイルシートは body 要素に margin: 8px が設定されており、 Opera は padding: 8px が設定されています。 パディングとは body 要素と内容との間の余白であり、マージンとは body 要素と html 要素 (または head 要素の可視部分)との間の余白です。 bodymargin または padding を明確に設定する場合は、他のプロパティも設定する必要があります。
  • IE6 における CSS の改良は、Opera の中では既に実行されています。これにより、IE6 の標準モードにおける Web ページの表示形式が、Opera の Web ページの表示形式に非常に近くなっています。詳細は Microsoft IE6 に関するドキュメント をご覧ください。

XMLCSS

XML ドキュメントを表示するためには、CSS スタイルシートが必要です。作成者は処理指示を通じ、 XML ドキュメントにスタイルシートを付与することが可能です。 以下は、簡単な例です:

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

スタイルシートが存在せず、ページの名前空間が HTML に関連付けられていない場合、Opera 8 はドキュメントを表示するため、全ての CSS プロパティにおいて初期値を使用します。要素はすべてインラインとなります。また、テキストはすべて同じフォントによって提供されます。

ECMAScript サポート

ECMAScript は Java コアを標準化したもので、ECMA standards body を通じて標準化されています。ECMAScript にはブラウザやドキュメントに関連したオブジェクトは含まれません。

Opera 7 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サポート

DOM 2 コア

Opera 7 は、以下の例外を除く全ての基本インターフェースをサポートしています:

DOM implementation

  • createDocumentType()
  • createDocument()

document

  • createCDATASection()
  • createProcessingInstruction()
  • createEntityReference()
  • createElementNS()
  • createAttributeNS()
  • getElementsByTagNameNS()

Element

  • getAttributeNS()
  • setAttributeNS()
  • removeAttributeNS()
  • getAttributeNodeNS()
  • setAttributeNodeNS()
  • getElementsByTagNameNS()
  • hasAttributeNS()

Opera 7 は下記の拡張インターフェースをサポートしていません:

  • CDATA
  • Notation
  • Entity
  • EntityReference
  • ProcessingInstruction

DOM 1 HTML

Opera 7 は、下記を除く全ての基本インターフェースをサポートしています:

HTMLHtmlElement

HTMLHeadElement

HTMLIsIndexElement

HTMLOptGroupElement

HTMLDirectoryElement

HTMLBaseFontElement

HTMLMenuElement

および以下のプロパティとメソッド:

HTMLDOMImplementation

  • createHTMLDocument()

HTMLMetaElement

  • scheme

HTMLOptionElement

  • label

HTMLInputElement

  • maxLength

HTMLImageElement

  • lowSrc
  • longDesc

HTMLObjectElement

  • declare

HTMLScriptElement (一部サポート)

  • text
  • HTMLFor
  • event

HTMLTableColElement, HTMLTableSectionElement, HTMLTableRowElement, HTMLTableCellElement

  • ch
  • chOff

HTMLTableCellElement

  • abbr

DOM 2 Events

Opera 7 は DOM 2 Event と UI Event インターフェースを例外なくサポートしています。

DOM 2 Style

Opera 7 は以下のオブジェクトを含み、DOM 2 Style を部分的にサポートしています。

ElementCSSInlineStyle

CSSStyleDeclaration

以下のプロパティとメソッドを除きます:

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

CSS2Properties

以下のプロパティを除きます:

  • captionSide
  • counterIncrement
  • direction
  • fontSizeAdjust
  • fontStretch
  • markerOffset
  • marks
  • tableLayout
  • textShadow
  • unicodeBidi
  • すべての Aural CSS プロパティ

非標準の JScript と JavaScript オブジェクトのサポート

ECMAScript と DOM オブジェクトに加え、Opera は非標準の JavaScript/JScript オブジェクトもサポートしています。

Anchor

  • name
  • text

Button

  • blur()
  • click()
  • focus()

CSSStyleDeclaration

  • pixelBottom
  • pixelHeight
  • pixelLeft
  • pixelRight
  • pixelTop
  • pixelWidth
  • posBottom
  • posHeight
  • posLeft
  • posRight
  • posTop
  • posWidth

document

  • onClick
  • onDblClick
  • onKeyDown
  • onKeyPress
  • onKeyUp
  • onMouseDown
  • onMouseUp
  • alinkColor
  • すべて
  • all()
  • all.tags()
  • bgColor
  • embeds
  • fgColor
  • formName
  • height
  • ids
  • lastModified
  • plugins
  • readyState

event

  • cancelBubble
  • data
  • fromElement
  • keyCode
  • offsetX
  • offsetY
  • returnValue
  • srcElement
  • which
  • x
  • y

Form

  • encoding

履歴

  • back()
  • current
  • forward()
  • go()
  • length
  • next
  • previous

HTMLElement

  • すべて
  • clientHeight
  • clientWidth
  • innerHTML
  • innerText
  • insertAdjacentElement()
  • insertAdjacentHTML()
  • insertAdjacentText()
  • offsetHeight
  • offsetLeft
  • offsetParent
  • offsetTop
  • offsetWidth
  • outerHTML
  • outerText

Image

  • complete

java

JavaArray

  • length
  • toString()

JavaClass

JavaObject

JavaPackage

Location

  • hash
  • host
  • hostname
  • href
  • pathname
  • port
  • protocol
  • reload()
  • replace()
  • search
  • toString()
  • valueOf()

MimeType

  • description
  • enabledPlugin
  • suffixes
  • type

Navigator

  • appCodeName
  • appMinorVersion
  • appName
  • appVersion
  • browserLanguage
  • cookieEnabled
  • javaEnabled()
  • language
  • mimeTypes
  • platform
  • plugins
  • taintEnabled()
  • userAgent

Netscape

Option

  • length

Packages

  • className
  • java
  • netscape
  • sun

Plugin

  • description
  • filename
  • length
  • name

screen

  • availHeight
  • availWidth
  • colorDepth
  • height
  • pixelDepth
  • width

Style

  • align
  • borderWidths
  • margins
  • paddings

Sun

Window

  • onBlur
  • onLoad
  • onUnload
  • alert()
  • back()
  • blur()
  • clearInterval()
  • clearTimeout()
  • close()
  • closed
  • confirm()
  • defaultStatus
  • disableExternalCapture()
  • document
  • enableExternalCapture()
  • event
  • focus()
  • forward()
  • frames
  • history
  • home()
  • innerHeight
  • innerWidth
  • java
  • length
  • location
  • moveBy()
  • moveTo()
  • name
  • open()
  • opener
  • outerHeight
  • outerWidth
  • Packages
  • pageXOffset
  • pageYOffset
  • parent
  • print()
  • prompt()
  • releaseEvents()
  • resizeBy()
  • resizeTo()
  • screenLeft
  • screenTop
  • screenX
  • screenY
  • scrollBy()
  • scrollTo()
  • self
  • setInterval() (partial support)
  • setTimeout() (partial support)
  • status
  • stop()
  • top
  • window
  • window.<frame-name>
  • window.<element-name>
  • window.<element-id>

ネットワークプロトコルサポート

Opera 7 は HTTP 1.0 と HTTP 1.1 を完全にサポートしています。 以下はその一例です:

  • 常時接続(単一のコネクションによる複数の要求/応答)
  • キャッシュを作らない・キャッシュをディスクに作らないなどのキャッシュコントロール
  • Basic 認証。 body 内の認証を除く Digest 認証をサポートします。現在 NTLM をサポートする計画はありません。
  • レジュームダウンロード(サーバ側が対応しているとき)
  • SSL/TLS サポート (proxy/firewall を含む)
  • HTTP, FTP, Gopher, WAIS 用のプロキシ

暗号化: Secure Sockets Layer (SSL) バージョン 2 と 3および Transport Layer Security (TLS) v1.0 に対応した 128 bit 暗号化(RSA 公開鍵方式のみ)をサポートしています。また、HTTP (web)、NNTP (news)、POP ならびに SMTP (メール)に対応しています。プライベートキーの生成や証明書のリクエストもサポートしています。

ニュース: 暗号化されたニュースサーバやパスワード付きのニュースサーバをサポートしたシンプルなオンラインニュースリーダー。MIME 形式の、もしくはエンコードされていない記事への添付をデコードすることができます。

レジュームダウンロードを含む FTP をサポートしています。

FTP、HTTP 両形式によるダウンロード

テキストと国際化

Opera の Unicode サポート

Opera は Unicode にて指定されたすべての文字上で動作します。 ネットワークから Opera に伝えられたテキストは、すべて Unicode に変換されます。

Opera が Unicode 文字を表示するためには、必要とされる文字がお使いのシステム上のフォントにて利用可能である必要があります。これは比較的古いウインドウズ・システムにおいて問題となり場合があります。 詳細な情報については Unicode fonts for Windows computers をご覧ください。

Opera 7 は以下の書き込みシステム関連機能を実行します:

font-switching
使用中のフォントに含まれていない文字を表示するために必要です。
line-breaking
中国語・韓国語・日本語のように、スペースのない文章を表示するために必要です。

Opera は、実行するオペレーティング・システムに依存します:

character shaping
Contextual glyph selection, ligature forming, character stacking, combining character support 等。

エンコーディングサポート

Opera は Unicode(UTF-16 ならびに UTF-8) で動作しますが、インターネット上のほとんどのテキストは、Unicode 以外の古めかしいエンコーディング (例えば ISO 8859-1、windows-1251、Shift-JIS、EUC-KR ) でエンコードされています。Opera は、使用されるエンコーディングを検知しそれを UTF-16 に変換することで文字データを処理します。これらのページの処理方法に関しては、3つのオプションを用意しています。

自動検出
Opera はページ単位で使用されるエンコーディングを検出しようとします。転送プロトコルによりエンコード名が提供される場合には、そのエンコード名が使用されます。 そうでない場合には、Opera はページ中の charset 宣言を検索します。 これが見当たらない場合、Opera はドメイン名を使用してページが CJK スクリプトかどうか、もしそうであればいずれに該当するかなどを確認し、エンコーディングの自動検出を試行します。Opera はまたUTF-8を自動検知します。
スクリプトにより自動検出
ユーザには日本語あるいは中国語のページであると明らかでありながら、エンコードが不明な場合に使用します。Opera はページのテキストに使われているエンコードを分析し、使用されているエンコードを決定します。
エンコードの上書き
ユーザがエンコードを指定したい場合に使用します。 転送プロトコルやページのエンコード情報ではなく、指定されたエンコードでページを表示します。

以下の一覧には、Opera が Unicode に加えてサポートするすべてのエンコードが掲載されています:

エンコード
エンコードカテゴリコメント
ISO 8859-1ラテン
ISO 8859-2ラテン東ヨーロッパ言語
ISO 8859-3ラテンあまり使われない
ISO 8859-4ラテンサーミ、バルト海沿岸諸国
ISO 8859-9ラテントルコ語
ISO 8859-10ラテンイヌイット、サーミ、アイスランド語
ISO 8859-13ラテンあまり使われない
ISO 8859-14ラテンケルト語
ISO 8859-15ラテン8859-1 の代替案
Windows-1250ラテン東ヨーロッパ言語
Windows-1252ラテン
Windows-1254ラテントルコ語
Windows-1257ラテンバルト海沿岸諸国
Windows-1258ラテンベトナム語
VISCIIラテンベトナム語
IBM 866キリル文字
ISO 8859-5キリル文字
koi8-rキリル文字
koi8-uキリル文字koi8-r のウクライナ語版
Windows-1251キリル文字
ISO 8859-6アラビア語
Windows-1256アラビア語
ISO 8859-7ギリシャ語
Windows-1253ギリシャ語
ISO 8859-8ヘブライ語
Windows-1255ヘブライ語
ISO 8859-11タイ語TIS-620 としても知られている
Windows-874タイ語ISO 8859-11 の拡張
utf-8Unicode
utf-16Unicode
Shift-JIS日本語
ISO-2022-JP日本語
EUC-JP日本語
Big 5中国語
EUC-CN中国語GB 2312 として誤認されることもある
HZ-GB-2312中国語主にメールで使用
EUC-TW中国語
GBK中国語EUC-CN 拡張
EUC-KR韓国語

両方向混在テキストのサポート

Opera 7.2 よりUnicode, HTML, CSS にて説明されている bidrectional text (両方向混在テキスト) をサポートしています。

グラフィックサポート

Opera は GIF89aJPEGBMPICOWBMP および アルファチャンネル透過とガンマ埋め込みを含む PNG全てサポートしています。