
JavaScriptの仕様について教えてください
■質問1 … 仕様の種類
・JavaScriptの仕様は、以下3つから成立しているという認識で合っているでしょうか?
1.ECMA-262
2.DOM
3.各ブラウザ実装状況
■質問2 … ナビゲーターオブジェクト仕様
・ナビゲーターオブジェクトの仕様はどこにあるのでしょうか?
・ナビゲーターオブジェクト=ブラウザ?
・ナビゲーターオブジェクトは、DOMの一種?
■質問3 … 「W3C」「WHATWG」の違い
・DOM仕様はどこが定めているのでしょうか? W3C?
・HTMLはDOMの一種?
・MOZILLAで「HTML 仕様書での定義」をクリックすると、下記ページへ飛ぶのですが、このページは何ですか?
▽HTML Standard
http://www.whatwg.org/specs/web-apps/current-wor …
・ベース仕様を「W3C」が決めて、もう少し詳細を「WHATWG」が決めて、その上層のHTML5部分はまたどっか違う組織が仕様を定義している、という話なのでしょうか?
No.1ベストアンサー
- 回答日時:
(1). JavaScript 1.4 以降、DOM は切り離されています。
DOM 自体は言語中立な XML/HTML 用モデル&API として定義され、Java、C++、Python、PHP など各種言語で実装されています。「ブラウザの実装状況」を仕様とは言い難いと思いますが、以下に続きます。(2). 「ブラウザの実装状況」を見ながら、ブラウザに搭載する DOM その他の仕様を固めていこう、というのが HTML Standard(HTML5)です。JavaScript 1.0 以来慣習的に扱われていた Navigator オブジェクトも、お挙げになったリンク先の 7.5.1 で再定義されています。
なお、Navigator 自体は「ブラウザ情報」を抽象化したものです。HTML Standard 以外の仕様でブラウザ情報を追加したい場合、それぞれの仕様書で Navigator を拡張している場合があります。HTML Standard でも、Navigator は NavigatorID、NavigatorLanguage、NavigatorOnLine、NavigatorContentUtils、NavigatorStorageUtils を全部合わせたものとして定義されています。
(3). (1) で書いたように、DOM は XML/HTML 用モデル、というよりむしろ XML 用モデルとして W3C が定義しました。これは、HTML が役割を終え、今後は XHTML で行こう、という目的があったからです。
ところが、色んなゴタゴタがあって XHTML への移行は失敗しました。それでも XML 路線を貫きたい W3C に対し、Apple、Mozilla、Opera などブラウザベンダが協力して 2004 年に WHATWG を立ち上げ、HTML の再出発を主張しました。HTML5 の canvas 要素などはこのときに導入されたものです。
こうした分裂状態が続き、ついに 2007 年、事実上ストップしていた W3C の XHTML 2.0 の策定が中止されます。同時に、WHATWG が策定を進めていた HTML5(このときは Web Applications 1.0、Web Forms 2.0 などの名前でしたが)が W3C 草案として提出されました。草案の策定は WHATWG が中心となって進め、定期的に W3C 草案もアップデートしていく、という二重構造です。
で、HTML5 はブラウザの実装状況を見ながら修正していく方針ですので、当初は勧告が 2022 年ぐらいだろうと言われていました(1997 年に出た HTML 4.0 のフル実装さえ、未だ存在しないことを思い出して下さい)。しかし、そのように常に現状を見つつ HTML を微調整していくのであれば、もはやバージョンに意味はありません。ということで、2011 年にはバージョン番号が廃止され、単なる「HTML」あるいは現在の「HTML Standard」という名称になりました。
とはいえ、W3C に提出してしまった草案の名前を変えるのは面倒です。なので、W3C 草案の方は名称を変えずに「HTML5」として勧告を早め(遅くとも 2014 年までには出る予定です)、今後のこと、つまり「HTML6」を出すのか出さないのか思案中、というのが現在の状況です。
繰り返しますが、HTML Standard は WHATWG が策定を進めており、日々アップデートされています。W3C 版の方は、WHATWG 版の定期的なスナップショットに過ぎません。このややこしい状況が混乱を招いたため、2012 年、仕様についての窓口は原則として HTML Standard に一本化し、それ以外についてはやりたい人がやってくれ、という形に落ち着きました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- 一戸建て 準耐火構造で、かつ透湿性のある【壁の構造】について質問させてください。 現在、東京都の風致地区で、高 1 2023/07/22 02:56
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- その他(業種・職種) 様々な仕事の経験がある方、職種・業種に詳しい方に質問です。 現在20代で初めての仕事探しをしているの 5 2022/09/28 13:22
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- Java 複数TBLのオブジェクトを1つの変数(オブジェクト)でまとめて管理したい 1 2022/12/17 00:12
- その他(ブラウザ) ブラウザでの音量(YouTubeなどの視聴)が自動的に下がってしまう。(できれば直したいです。) 2 2023/07/15 08:52
- 筋トレ・加圧トレーニング プロテインの事で質問です。 ちょっとした倉庫内での力仕事でして、ほんのたま~に力仕事があるぐらいで、 3 2022/06/22 14:22
- デスクトップパソコン HPの法人用パソコンに個人用のゲーミングモニターは対応しますか? 3 2022/08/10 20:02
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScript 日数計算の関数で演...
-
Javascript; フィールドの属性変更
-
ローカルのレジストリを読みたい
-
オライリーのプログラミングPHP...
-
Webページ中の javascript をVB...
-
jQueryで、listの要素数を取得...
-
JSPの処理の途中で、JavaScript...
-
ハイフンだけ置換したい。
-
nodeでJavaScriptの標準入力
-
JAVAスクリプト(マウスストー...
-
javaスクリプトでcssを制御して...
-
htmlのfileタグに自動で値を入...
-
JavaScriptで ブラウザの閉じる...
-
PDFフォームで条件つき金額を表...
-
csvファイルを読み込み、該当項...
-
エクセルVBA/ Formatで文字列が...
-
ラベルの色がかわってくれない
-
VBAによる第3、4水準文字の判定...
-
文字列圧縮_
-
javascriptの全文検索
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Webページ中の javascript をVB...
-
ローカルのレジストリを読みたい
-
Shell.ApplicationでのIEオブ...
-
エクセル2010のvbaについて
-
javaScriptでグローバル変数に...
-
画面間でのJavaScrip...
-
JavaScriptで複数のプロパティ...
-
タブブラウザで focus() を実...
-
フォルダ内のファイル名を取得...
-
JSの「document.getElementById...
-
クラス デフォルトプロパティの...
-
一定時間経つと画像を消す方法
-
CSSのクラスを動的に変更 classで
-
ASP.NETでURLにマッピングされ...
-
evtとは
-
JavaScriptでオブジェクトを識...
-
IEのお気に入り表示の切り替...
-
event.srcElementの動的設定
-
イベントevt?evt.target:event....
-
イベントリスナーで読み込んだ...
おすすめ情報