[55] Navigator
オブジェクトは、
利用者エージェントの識別と状態を表すと共に、
プロトコル取り扱い器や内容取り扱い器を登録する API
を提供するものです >>13。
[58] 文書環境とワーカー環境で Navigator
オブジェクトや WorkerNavigator
オブジェクトが存在します。
基本的には singleton で、環境ごとに1つ存在します。
文書環境とワーカー環境では提供される API
が微妙に違っています。
[15] NN2 (JavaScript 1.0) で導入されました。
[37] JavaScript 1.0 で次のものが追加されました。
[38] taintEnabled
は JavaScript 1.1 で追加されました。
[39] platform
は JavaScript 1.2 で追加されました。
[14] WinIE 3 以上が対応しています。 IE は
window.clientInformation
として実装しています。
[19] Navigator
オブジェクトは W3C からは完全に無視されていました。
[20] 2005年9月1日から2006年1月1日までの間に、 WHATWG Web Applications 1.0 >>21
(現 HTML Standard) に window.navigator
と
navigator.onLine
が追加されました。これが Navigator
の標準化のはじまりでした。 NN2 から実に10年が経過していました。
[22] この時 window.navigator
が定義されていましたが、
IE は window.clientInformation
も実装していることがコメントとして記述されていました。
またインターフェイス名は ClientInformation
とされていました。
[24] その後2008年になって、 Navigator
オブジェクトの
Webブラウザー情報に関する諸属性が HTML5 (旧 Web Applications 1.0、
現 HTML Standard) に追加されました >>23。インターフェイス名は、
この時 Navigator
に改められました。
[5] Web Applications 1.0 r5834 Split the Navigator IDLs to make the various places it's mentioned easier to understand. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=5833&to=5834
[26] その後ワーカーでも利用可能とするため、 WorkerNavigator
インターフェイスが追加されています。ワーカー環境の WorkerNavigator
と文書環境の Navigator
とでは、晒されているメンバーが異なります。
[6] [whatwg] Proposal for a web application descriptor ( ( 版)) http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-July/032631.html
[7] IRC logs: freenode / #whatwg / 20130115 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130115#l-49
[8] IRC logs: freenode / #whatwg / 20130225 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130225#l-398
# [13:54] <Ms2ger> Hm, Presto had navigator.appMinorVersion?
# [14:15] <zcorpan_> seems so
# [14:20] <zcorpan_> also browserLanguage, userLanguage
# [14:21] <Ms2ger> browserLanguage only if navigator.appName == "Microsoft Internet Explorer"
# [14:22] <zcorpan_> looks like both of those have some usage on github
# [14:24] <Ms2ger> return (navigator.browserLanguage || navigator.language || navigator.userLanguage).substr(0,2)
# [14:24] <zcorpan_> "navigator.language" 138,088 "navigator.userLanguage" 51,830 "navigator.browserLanguage" 14,089
# [14:24] <zcorpan_> "navigator.languages" 991
[27] HTML5 以後に追加された、主に外部装置からの入出力に関わる諸拡張 API
は、 Navigator
に追加されることが慣例となっています。
装置に依存して利用できるかもしれないしできないかもしれないことが
Navigator
オブジェクト上の既存のメンバーの性質と似ていること、
大域オブジェクトと違ってスクリプト定義の変数や関数と衝突する虞がないことなどの理由があるのでしょう。
しかし統括的な設計者もなく無秩序に開発が進められ、標準不在の標準化が進んでいる(謎)感は否めません
(Web 技術は全体的にそんなものですが...)。
[41] Web Applications 1.0 r7747 Needed for compatibility. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7746&to=7747
[42] リークしたIE11の情報からいろいろ邪推する - fragmentary ( ( 版)) http://myakura.hatenablog.com/entry/2013/04/04/195122
[43] Web Applications 1.0 r8038 Spec navigator.appCodeName (and respec navigator.product) constant(s) ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8037&to=8038
[36] Bug 27786 – Specify navigator.vendor as the empty string ( ( 版)) https://www.w3.org/Bugs/Public/show_bug.cgi?id=27786
[46] Define navigator.vendor · whatwg/html@6feb33c ( 版) https://github.com/whatwg/html/commit/6feb33c46552803bf857ff846a8b349bad1bbb48
[47] Restrict the allowed return values for navigator.vendor · whatwg/html@6b75ea5 ( 版) https://github.com/whatwg/html/commit/6b75ea51c48ede9e0ea79b6075a1ea9a543b9219
[44] Require navigator.productSub to be either "20030107" or "20100101" · whatwg/html@eed419a ( 版) https://github.com/whatwg/html/commit/eed419aeba3cfab6868de2597b321e9ab45a332c
[45] 27954 – navigator.productSub ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=27954
[49] Web Applications 1.0 r8885 navigator.vendorSub constant ( 版) https://html5.org/r/8885
[28] Expose some NavigatorID members only on Window · whatwg/html@1b1ab95 ( 版) https://github.com/whatwg/html/commit/1b1ab957814561d1e819a8ea4f03d5fd7f5a050e
[40] less - iPhone iPad iPod判別方法 ( ( 版)) http://less.carbonfairy.org/post/1119215328/iphone-ipad-ipod
[50] Web Applications 1.0 r8039 navigator.taintEnabled() ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8038&to=8039
[51] 679971 – remove Navigator.taintEnabled() ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=679971
For additional power and functionality, scripts can now gain access to normally restricted information. This is achieved through signed scripts that request expanded privileges. This new functionality provides greater security than data tainting. Data tainting has been removed from JavaScript 1.2.
[53] 22555 – navigator.taintEnabled() ( 版) https://www.w3.org/Bugs/Public/show_bug.cgi?id=22555
[54] Add "navigator compatibility mode" and use it for vendor/taintEnabled() · whatwg/html@81f1c7b ( 版) https://github.com/whatwg/html/commit/81f1c7bf8fba31164136e2845d3432c3045f2eef
[48] Farewell, Mellblom Browsernator · whatwg/html@5f3a60c ( 版) https://github.com/whatwg/html/commit/5f3a60ccf25fc465f9b4e0269676142468c6cd2e
[60] 30067 – OSCPU User Agent field needs js exposure ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=30067
[59] Add navigator.oscpu in Gecko compatability mode · whatwg/html@b46dae7 ( 版) https://github.com/whatwg/html/commit/b46dae73cde338737baa917102e93352036eeff6
1 close the default gesture
Usage:
1 navigator.control.gesture(false);
Personal recommendation method:
1 try {
2 navigator.control.gesture(false);
3 } catch (e) {
4 // ...
5 }
The closure of 2 long press the pop-up menu
Usage:
1 navigator.control.longpressMenu(false);
[62] Remove XMLDocument.prototype.load by domenic · Pull Request #1478 · whatwg/html () https://github.com/whatwg/html/pull/1478
[63] Remove XMLDocument.prototype.load (domenic著, ) https://github.com/whatwg/html/commit/523f7a8773d2ab8a1eb0da6510651e8c5d2a7531
[64] Expose navigator.appCodeName and navigator.product in Worker (foolip著, ) https://github.com/whatwg/html/commit/d57fa7d28647ba4268b7b1ec62ada4bd5a078d67
[70] Changes around navigator.webdriver (shekyan著, ) https://github.com/w3c/webdriver/commit/96a38f2415aa59bbe370aaafb451b01b0dccfe39
[71] Changes around navigator.webdriver by shekyan · Pull Request #948 · w3c/webdriver () https://github.com/w3c/webdriver/pull/948
[72] Remove registerContentHandler() and several friends (annevk著, ) https://github.com/whatwg/html/commit/b143dbc2d16f3473fcadee377d838070718549d3
[29] Use Web IDL's new-ish interface mixins concept (romandev著, ) https://github.com/whatwg/html/commit/c8867a179c21134021dc3435e98c1b9c4542d794
[30] Use interface mixins instead of [NoInterfaceObject] (romandev著, ) https://github.com/whatwg/storage/commit/37030a22b727d3039d333334a0124cf21b96314b
[31] Update WebIDL definition(s) to use new mixin syntax · Issue #53 · whatwg/storage () https://github.com/whatwg/storage/issues/53
[32] Use `interface mixins` instead of `[NoInterfaceObject]` by romandev · Pull Request #54 · whatwg/storage () https://github.com/whatwg/storage/pull/54
[33] Replace NavigatorUserMedia mixin with partial interface. (jan-ivar著, ) https://github.com/w3c/mediacapture-main/commit/0128390a211094284d500558881ca574b0b1ffef
[34] Replace NavigatorUserMedia mixin with partial interface. by jan-ivar · Pull Request #509 · w3c/mediacapture-main () https://github.com/w3c/mediacapture-main/pull/509
[35] Introduce Navigator and WorkerNavigator partial interfaces (#53) (@marcoscaceres著, ) https://github.com/WICG/serial/commit/12f72a26effca9fc93fa47f087a61f924191007f
[73] Introduce Navigator and WorkerNavigator partial interfaces by reillyeon · Pull Request #53 · WICG/serial () https://github.com/WICG/serial/pull/53
[74] Update partial interface (mixin) NavigatorID (foolip著, ) https://github.com/whatwg/html/commit/c8f0426596ad6bba51cf3de411a127a52267ac77
[75] Update partial interface (mixin) NavigatorID by foolip · Pull Request #4309 · whatwg/html () https://github.com/whatwg/html/pull/4309
window.navigator
も実装されていたのかどうか?