/
482.txt
456 lines (364 loc) · 19.5 KB
/
482.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
* 仕様書
[REFS[
- [13] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#the-navigator-object>'''
-- [29] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-04-03 15:54:50 +09:00]] 版) <https://html.spec.whatwg.org/#navigatorid>
-- [11] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#plugins-2>
- [25] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#the-workernavigator-object>
- [9] [CITE@en[Geolocation API Specification]] ([TIME[2013-10-22 23:10:42 +09:00]] 版) <http://www.w3.org/TR/geolocation-API/#geolocation_interface>
- [66] [CITE@en[Service Workers Nightly]] ([TIME[2017-03-02 15:00:14 +09:00]]) <https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface>
]REFS]
* 意味
[55] [CODE(DOMi)@en[Navigator]] [[オブジェクト]]は、
[[利用者エージェント]]の識別と状態を表すと共に、
[[プロトコル取り扱い器]]や[[内容取り扱い器]]を登録する [[API]]
を提供するものです [SRC[>>13]]。
[58] [[文書環境]]と[[ワーカー環境]]で [CODE(DOMi)@en[Navigator]]
[[オブジェクト]]や [CODE(DOMi)@en[WorkerNavigator]] [[オブジェクト]]が存在します。
基本的には [[singleton]] で、環境ごとに1つ存在します。
[[文書環境]]と[[ワーカー環境]]では提供される [[API]]
が微妙に違っています。
* [CODE(DOMa)@en[navigator]] 属性
[56] [CODE(DOMi)@en[Window]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[navigator]]]]
[[IDL属性]]は、 [CODE(DOMi)@en[Navigator]] [[オブジェクト]]を返さなければ[MUST[なりません]]
[SRC[>>13]]。
[57] この [CODE(DOMi)@en[Navigator]] [[オブジェクト]]は、
[CODE(DOMi)@en[Window]] の作成時に新たに作成されます。
値が変化するのは、 [CODE(JS)@en[document.open]] の時のみです。
* Navigator オブジェクトのメンバー
[4] [CITE[Results for navigator]] ([TIME[2009-02-28 13:57:07 +09:00]] 版) <http://suika.fam.cx/gate/test-results/list/enum-navigator/all>
をご覧ください。
- [1] ''navigatorオブジェクトのプロパティ一覧'' <http://game.gr.jp/ua/s1.htm>
[3]
[FIG(short list)[
- [CODE(DOMa)@en[[[app]]]]
- [CODE(DOMa)@en[appCodeName]]
- [CODE(DOMa)@en[appName]]
- [CODE(DOMa)@en[appVersion]]
- [CODE(DOMa)@en[[[buildID]]]],[[Gecko]]
- [CODE(DOMa)@en[[[contacts]]]]
- [CODE(DOMa)@en[[[cookieEnabled]]]]
- [CODE(DOMa)@en[[[geolocation]]]]
- [CODE(DOMm)@en[[[hasPendingMessages]]]]
- [CODE(DOMa)@en[[[mozIsLocallyAvailable]]]]
- [CODE(DOMa)@en[[[javaEnabled]]]]
- [CODE(DOMa)@en[[[language]]]]
- [CODE(DOMa)@en[[[maxTouchPoints]]]]
- [CODE(DOMa)@en[[[messaging]]]]
- [CODE(DOMa)@en[[[mimeTypes]]]]
- [CODE(DOMa)@en[[[nfc]]]]
,[CODE(DOMa)@en[[[onLine]]]],[[Gecko]]
,[CODE(DOMa)@en[[[oscpu]]]],[[Gecko]]
- [CODE(DOMa)@en[platform]]
- [CODE(DOMa)@en[[[plugins]]]]
- [CODE(DOMa)@en[[[preference]]]] [SRC[[[JavaScript 1.2]]]]
- [CODE(DOMa)@en[product]]
- [CODE(DOMa)@en[productSub]]
,[CODE(DOMm)@en[[[registerContentHandler]]]],[[Gecko]]
,[CODE(DOMm)@en[[[registerProtocolHandler]]]],[[Gecko]]
- [CODE(DOMm)@en[[[savePreferences]]]] [SRC[[[JavaScript 1.2]]]]
,[CODE(DOMa)@en[[[securityPolicy]]]],[[Gecko]]
- [CODE(DOMm)@en[serviceWorker]]
- [CODE(DOMm)@en[[[setMessageHandler]]]]
- [CODE(DOMa)@en[taintEnabled]]
- [CODE(DOMa)@en[[[tcpPermission]]]]
- [CODE(DOMa)@en[[[tcpServerPermission]]]]
- [CODE(DOMa)@en[[[telephony]]]]
- [CODE(DOMa)@en[[[udpPermission]]]]
- [CODE(DOMa)@en[userAgent]]
- [CODE(DOMa)@en[vendor]]
- [CODE(DOMa)@en[vendorSub]]
- [CODE(DOMm)@en[[[vibrate]]]]
- [CODE(DOMa)@en[[[webdriver]]]]
- [CODE(DOMm)@en[[[yieldForStorageUpdates]]]]
]FIG]
[12] 次の[[インターフェイス]] (いずれも [CODE(IDL)@en[[[NoInterfaceObject]]]])
は、[CODE(IDL)@en[[[Navigator]]]] [[オブジェクト]]に[[実装]]されます。
[FIG(list)[
- [DFN[[CODE(DOMi)@en[[[NavigatorPlugins]]]]]] [[インターフェイス]] [SRC[>>11]]
- [DFN[[CODE(DOMi)@en[[[NavigatorCookies]]]]]] [[インターフェイス]]
- [DEL[[DFN[[CODE(DOMi)@en[[[NavigatorStorageUtils]]]]]] [[インターフェイス]]]] (現 [CODE(DOMi)@en[[[NavigatorCookies]]]])
- [CODE(DOMi)@en[NavigatorConcurrentHardware]]
- [CODE(DOMi)@en[NavigatorID]] (>>35)
]FIG]
* 状態
[65]
[FIG(list members)[
: [F[最上位閲覧文脈]] : [CODE(DOMm)@en[vibrate]] で参照されます。
[F[関連大域オブジェクト]]の[F[最上位閲覧文脈]]と解するべきでしょうか。
: [F[[CODE(DOMi)@en[ServiceWorkerContainer]]]] :
[CODE(DOMa)@en[navigator.serviceWorker]] の値です。
]FIG]
* 利用者エージェントの識別
[30] [[Webブラウザー]]には不具合や制約があって、
[[著者]]が[[スクリプト]]から[[Webブラウザー]]を判定して対処せざるを得ないことがあります
[SRC[>>29]]。
[31] そのような判定は、既知の現在の版を判定するものとする[SHOULD[べきです]]。
将来の版や未知の版は、[[仕様書]]に[[適合]]するものと仮定する[SHOULD[べきです]]。
[SRC[>>29]]
[32] この情報は、 [[fingerprinting vector]] です。
[[利用者エージェント]]は、できるだけ少ない情報にとどめることが[RUBYB[強く望まれています]@en[strongly urged]]。
[SRC[>>29]]
[33] [[利用者エージェント]]は、
[DFN[[RUBYB[navigator互換性モード]@en[navigator compatibility mode]]]]を持ちます。
[[Chrome]]、[[Gecko]]、[[WebKit]] のいずれかです。 [SRC[>>29]]
;; [34] 本来いずれか1つに統一するべきところですが、
[[Web互換性]]を保ちつつ統一する方法が見出されず、やむを得ず3種類のまま[[標準化]]されました。
[35] [CODE(DOMi)@en[Navigator]] [[オブジェクト]]には次のメンバー
(特記がない限り[[IDL属性]]) があります。
これらは[[仕様書]]上は [CODE(DOMi)@en[NavigatorID]] [[インターフェイス]]
([CODE(xattr IDL)@en[NoInterfaceObject]]) と呼ばれています。 [SRC[>>29]]
[FIG(table)[
:name: メンバー名
:window: [[文書環境]]
:worker: [[ワーカー環境]]
:Chrome: [[navigator互換性モード]] = [[Chrome]]
:WebKit: [[navigator互換性モード]] = [[WebKit]]
:Gecko: [[navigator互換性モード]] = [[Gecko]]
:name: [DFN[[CODE(DOMa)@en[appCodeName]]]]
:window: ○
:worker: ○
:Chrome: [CODE[Mozilla]]
:Gecko: [CODE[Mozilla]]
:WebKit: [CODE[Mozilla]]
:name: [DFN[[CODE(DOMa)@en[appName]]]]
:window: ○
:worker: ○
:Chrome: [CODE[Netscape]]
:Gecko: [CODE[Netscape]]
:WebKit: [CODE[Netscape]]
:name: [DFN[[CODE(DOMa)@en[appVersion]]]]
:window: ○
:worker: ○
:Chrome: [CODE[4.0]] または[[ブラウザー]]の版の[[文字列]]
:Gecko: [CODE[4.0]] または[[ブラウザー]]の版の[[文字列]]
:WebKit: [CODE[4.0]] または[[ブラウザー]]の版の[[文字列]]
:name: [DFN[[CODE(DOMa)@en[platform][navigator.platform]]]]
:window: ○
:worker: ○
:Chrome: [[空文字列]]または[[プラットフォーム][プラットフォーム (Web)]]名の[[文字列]]
:Gecko: [[空文字列]]または[[プラットフォーム][プラットフォーム (Web)]]名の[[文字列]]
:WebKit: [[空文字列]]または[[プラットフォーム][プラットフォーム (Web)]]名の[[文字列]]
:name: [DFN[[CODE(DOMa)@en[product][navigator.product]]]]
:window: ○
:worker: ○
:Chrome: [CODE[Gecko]]
:Gecko: [CODE[Gecko]]
:WebKit: [CODE[Gecko]]
:name: [DFN[[CODE(DOMa)@en[productSub]]]]
:window: ○
:worker: ×
:Chrome: [CODE[20030107]]
:Gecko: [CODE[20100101]]
:WebKit: [CODE[20030107]]
:name: [DFN[[CODE(DOMa)@en[userAgent][navigator.userAgent]]]]
:window: ○
:worker: ○
:Chrome: [[既定[CODE(HTTP)@en[User-Agent]]値]]
:Gecko: [[既定[CODE(HTTP)@en[User-Agent]]値]]
:WebKit: [[既定[CODE(HTTP)@en[User-Agent]]値]]
:name: [DFN[[CODE(DOMa)@en[vendor]]]]
:window: ○
:worker: ×
:Chrome: [CODE[Google Inc.]]
:Gecko: [[空文字列]]
:WebKit: [CODE[Apple Computer, Inc.]]
:name: [DFN[[CODE(DOMa)@en[vendorSub]]]]
:window: ○
:worker: ×
:Chrome: [[空文字列]]
:Gecko: [[空文字列]]
:WebKit: [[空文字列]]
:name: [DFN[[CODE(DOMa)@en[oscpu]]]]
:window: ○
:worker: ×
:Chrome: なし
:WebKit: なし
:Gecko: [[空文字列]]または[[プラットフォーム]]を表す[[文字列]]
:name: [DFN[[CODE(DOMm)@en[taintEnabled]]]]
:window: ○
:worker: ×
:Gecko: [[偽]]を返す[[メソッド]]
:WebKit: なし
:Chrome: なし
]FIG]
* 処理
** 作成
[67] 作成は、次のようにしなければ[MUST[なりません]]。
[FIG(steps)[
= [68] [[文脈オブジェクト]]の [F[[CODE(DOMi)@en[ServiceWorkerContainer]]]]
を、新しい [CODE(DOMi)@en[ServiceWorkerContainer]] [[オブジェクト]]に設定します [SRC[>>66]]。
[FIG(list members)[ [69] [CODE(DOMi)@en[ServiceWorkerContainer]]
: [F[サービスワーカークライアント]] :
[[文脈オブジェクト]]の[F[関連設定群オブジェクト]]
]FIG]
]FIG]
* 歴史
** 誕生
[15] [[NN2]] ([[JavaScript 1.0]]) で導入されました。
[37] [[JavaScript 1.0]] で次のものが追加されました。
[FIG(short list)[
- [CODE(DOMa)@en[appCodeName]]
- [CODE(DOMa)@en[appName]]
- [CODE(DOMa)@en[appVersion]]
- [CODE(DOMa)@en[userAgent]]
]FIG]
[38] [CODE(DOMa)@en[taintEnabled]] は [[JavaScript 1.1]] で追加されました。
[39] [CODE(DOMa)@en[platform]] は [[JavaScript 1.2]] で追加されました。
[14] [[WinIE 3]] 以上が対応しています。 [[IE]] は
[DFN[[CODE(JS)@en[[[window.clientInformation]]]]]] として実装しています。
;; [18] この当時から [CODE(JS)@en[[[window.navigator]]]] も実装されていたのかどうか?
;; [2] [CODE(DOMa)@en[navigator]] が [[Netscape Navigator]] を想起させる
(由来する?) ことを忌避したのでしょうか。
[REFS[
- [16] [CITE@ja[clientInformation object (Internet Explorer)]]
([TIME[2015-07-10 00:25:55 +09:00]] 版)
<https://msdn.microsoft.com/ja-jp/library/ms535860(v=vs.85).aspx>
- [17] [CITE@ja[clientInformation]]
([TIME[2015-07-10 00:26:12 +09:00]] 版)
<https://msdn.microsoft.com/ja-jp/library/cc409818.aspx>
]REFS]
** 標準化
[19] [CODE(DOMi)@en[[[Navigator]]]] [[オブジェクト]]は [[W3C]] からは完全に無視されていました。
[20] 2005年9月1日から2006年1月1日までの間に、 [[WHATWG]] [[Web Applications 1.0]] [SRC[>>21]]
(現 [[HTML Standard]]) に [CODE(JS)@en[[[window.navigator]]]] と
[CODE(JS)@en[[[navigator.onLine]]]] が追加されました。これが [CODE(DOMi)@en[[[Navigator]]]]
の標準化のはじまりでした。 [[NN2]] から実に10年が経過していました。
[22] この時 [CODE(JS)@en[[[window.navigator]]]] が定義されていましたが、
[[IE]] は [CODE(JS)@en[[[window.clientInformation]]]] も実装していることが[[コメント]]として記述されていました。
また[[インターフェイス]]名は [DFN[[CODE(DOMi)@en[[[ClientInformation]]]]]] とされていました。
[24] その後2008年になって、 [CODE(DOMi)@en[[[Navigator]]]] [[オブジェクト]]の
[[Webブラウザー]]情報に関する諸[[属性]]が [[HTML5]] (旧 [[Web Applications 1.0]]、
現 [[HTML Standard]]) に追加されました [SRC[>>23]]。[[インターフェイス]]名は、
この時 [CODE(DOMi)@en[[[Navigator]]]] に改められました。
[REFS[
- [21] [CITE@en-GB-hixie[Web Applications 1.0]] ([TIME[2014-03-06 04:52:19 +09:00]] 版) <https://whatwg.org/specs/web-apps/2006-01-01/#scs-browser>
- [23] [CITE@en[Web Applications 1.0 r2070 Define a set of properties for browser detection.]] ([TIME[2008-08-13 10:38:00 +09:00]] 版) <https://html5.org/r/2070>
]REFS]
[5] [CITE@en[Web Applications 1.0 r5834 Split the Navigator IDLs to make the various places it's mentioned easier to understand.]]
( ([TIME[2011-02-05 09:09:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5833&to=5834>
[26] その後[[ワーカー]]でも利用可能とするため、 [CODE(DOMi)@en[[[WorkerNavigator]]]]
[[インターフェイス]]が追加されています。[[ワーカー環境]]の [CODE(DOMi)@en[[[WorkerNavigator]]]]
と[[文書環境]]の [CODE(DOMi)@en[[[Navigator]]]] とでは、[[晒され]]ているメンバーが異なります。
[6] [CITE[''''''[''''''whatwg'''''']'''''' Proposal for a web application descriptor]]
( ([TIME[2011-07-27 07:45:36 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-July/032631.html>
[7] [CITE[IRC logs: freenode / #whatwg / 20130115]]
( ([TIME[2013-01-16 21:31:32 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130115#l-49>
[8] [CITE[IRC logs: freenode / #whatwg / 20130225]]
( ([TIME[2013-03-02 19:44:27 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20130225#l-398>
[FIG(quote)[
[FIGCAPTION[
[10] [CITE[IRC logs: freenode / #whatwg / 20150126]]
([TIME[2015-01-27 10:36:28 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20150126#l-278>
]FIGCAPTION]
> # '''['''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
]FIG]
[27] [[HTML5]] 以後に追加された、主に外部装置からの入出力に関わる諸拡張 [[API]]
は、 [CODE(DOMi)@en[[[Navigator]]]] に追加されることが慣例となっています。
[[装置]]に依存して利用できるかもしれないしできないかもしれないことが
[CODE(DOMi)@en[[[Navigator]]]] オブジェクト上の既存のメンバーの性質と似ていること、
[[大域オブジェクト]]と違って[[スクリプト]]定義の変数や関数と衝突する虞がないことなどの理由があるのでしょう。
しかし統括的な設計者もなく無秩序に開発が進められ、標準不在の標準化が進んでいる(謎)感は否めません
([[Web]] 技術は全体的にそんなものですが...)。
[41] [CITE@en[Web Applications 1.0 r7747 Needed for compatibility.]]
( ([TIME[2013-03-09 11:02:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7746&to=7747>
[42] [CITE@en[リークしたIE11の情報からいろいろ邪推する - fragmentary]]
( ([TIME[2013-04-05 07:48:46 +09:00]] 版))
<http://myakura.hatenablog.com/entry/2013/04/04/195122>
[43] [CITE@en[Web Applications 1.0 r8038 Spec navigator.appCodeName (and respec navigator.product) constant(s)]]
( ([TIME[2013-07-09 11:36:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8037&to=8038>
[36] [CITE@en[Bug 27786 – Specify navigator.vendor as the empty string]]
( ([TIME[2015-01-11 15:52:49 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=27786>
[46] [CITE@en[Define navigator.vendor · whatwg/html@6feb33c]]
([TIME[2015-09-03 14:51:30 +09:00]] 版)
<https://github.com/whatwg/html/commit/6feb33c46552803bf857ff846a8b349bad1bbb48>
[47] [CITE@en[Restrict the allowed return values for navigator.vendor · whatwg/html@6b75ea5]]
([TIME[2015-09-03 16:22:05 +09:00]] 版)
<https://github.com/whatwg/html/commit/6b75ea51c48ede9e0ea79b6075a1ea9a543b9219>
[44] [CITE@en[Require navigator.productSub to be either "20030107" or "20100101" · whatwg/html@eed419a]]
([TIME[2015-10-01 12:17:11 +09:00]] 版)
<https://github.com/whatwg/html/commit/eed419aeba3cfab6868de2597b321e9ab45a332c>
[45] [CITE@en[27954 – navigator.productSub]]
([TIME[2015-10-01 12:18:07 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=27954>
[49] [CITE@en[Web Applications 1.0 r8885 navigator.vendorSub constant]]
([TIME[2015-03-05 04:24:00 +09:00]] 版)
<https://html5.org/r/8885>
[28] [CITE@en[Expose some NavigatorID members only on Window · whatwg/html@1b1ab95]]
([TIME[2015-10-02 11:00:56 +09:00]] 版)
<https://github.com/whatwg/html/commit/1b1ab957814561d1e819a8ea4f03d5fd7f5a050e>
[40] [CITE@ja[less - iPhone iPad iPod判別方法]]
( ([TIME[2010-09-20 08:56:19 +09:00]] 版))
<http://less.carbonfairy.org/post/1119215328/iphone-ipad-ipod>
[50] [CITE@en[Web Applications 1.0 r8039 navigator.taintEnabled()]]
( ([TIME[2013-07-09 14:17:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8038&to=8039>
[51] [CITE@en[679971 – remove Navigator.taintEnabled()]]
( ([TIME[2013-07-09 19:46:19 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=679971>
[FIG(quote)[
[FIGCAPTION[
[52] [CITE[Introduction]]
([TIME[2015-04-12 17:48:50 +09:00]] 版)
<http://web.archive.org/web/20010414031504/http://developer.netscape.com/docs/manuals/communicator/jsguide/intro.htm#1000788>
]FIGCAPTION]
> 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.
]FIG]
[53] [CITE@en[22555 – navigator.taintEnabled()]]
([TIME[2015-10-01 12:08:23 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=22555>
[54] [CITE@en[Add "navigator compatibility mode" and use it for vendor/taintEnabled() · whatwg/html@81f1c7b]]
([TIME[2015-10-01 12:15:10 +09:00]] 版)
<https://github.com/whatwg/html/commit/81f1c7bf8fba31164136e2845d3432c3045f2eef>
[48] [CITE@en[Farewell, Mellblom Browsernator · whatwg/html@5f3a60c]]
([TIME[2015-09-03 14:42:56 +09:00]] 版)
<https://github.com/whatwg/html/commit/5f3a60ccf25fc465f9b4e0269676142468c6cd2e>
[60] [CITE@en[30067 – OSCPU User Agent field needs js exposure]]
( ([TIME[2015-01-15 11:39:30 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=30067>
[59] [CITE@en[Add navigator.oscpu in Gecko compatability mode · whatwg/html@b46dae7]]
([TIME[2016-04-12 17:43:31 +09:00]] 版)
<https://github.com/whatwg/html/commit/b46dae73cde338737baa917102e93352036eeff6>
[FIG(quote)[
[FIGCAPTION[
[61] [CITE@en-US[UC mobile phone browser (U3 kernel) related documentation]]
( ([TIME[2016-06-01 19:25:40 +09:00]]))
<http://www.programering.com/a/MDNxAjMwATU.html>
]FIGCAPTION]
> 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);
]FIG]
[62] [CITE@en[Remove XMLDocument.prototype.load by domenic · Pull Request #1478 · whatwg/html]]
([TIME[2016-07-10 12:51:17 +09:00]])
<https://github.com/whatwg/html/pull/1478>
[63] [CITE@en[Remove XMLDocument.prototype.load]]
([[domenic]]著, [TIME[2016-07-07 02:06:08 +09:00]])
<https://github.com/whatwg/html/commit/523f7a8773d2ab8a1eb0da6510651e8c5d2a7531>
[64] [CITE@en[Expose navigator.appCodeName and navigator.product in Worker]]
([[foolip]]著, [TIME[2016-10-11 04:19:28 +09:00]])
<https://github.com/whatwg/html/commit/d57fa7d28647ba4268b7b1ec62ada4bd5a078d67>