blob: 633d2a7cfb8883ad36a941ec9f8fc65623b4860e (
plain)
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
|
---
title: Proximity Events
slug: WebAPI/Proximity
tags:
- API
- Experimental
- Proximity Events
- Reference
translation_of: Web/API/Proximity_Events
---
<p>{{DefaultAPISidebar("Proximity Events")}}{{ SeeCompatTable }}</p>
<p><strong>proximity events</strong> は、ユーザーが端末の近くにいるときを知るのに便利な手段です。これらのイベントは近接度の変化への対応、例えばユーザーがスマートフォンを耳の近くに持ってきて電話をしているときにスクリーンを休止することを可能にします。</p>
<div class="note">
<p><strong>メモ:</strong> この API は端末に近接センサーを必要とすることが明らかです。近接センサーは、たいていモバイル端末のみで使用できます。センサーを搭載していない端末もイベントをサポートするかもしれませんが、イベントは発生しません。</p>
</div>
<h2 id="Proximity_Events" name="Proximity_Events">Proximity Event</h2>
<p>端末の近接センサーが端末と物体との距離の変化を検出すると、それをブラウザーに通知します。ブラウザーが通知を受けると、あらゆる変化について {{domxref("DeviceProximityEvent")}} イベントが、またよりおおざっぱな変化の場合に {{domxref("UserProximityEvent")}} イベントが発生します。</p>
<p>このイベントは {{domxref("EventTarget.addEventListener","addEventListener")}} メソッド (イベント名 {{event("deviceproximity")}} または {{event("userproximity")}} を使用) を使用するか、イベントハンドラーを {{domxref("window.ondeviceproximity")}} プロパティまたは {{domxref("window.onuserproximity")}} プロパティに接続することにより、<code>window</code> オブジェクトレベルで取得できます。</p>
<p>イベントを取得すると、イベントオブジェクトでさまざまな種類の情報にアクセスできます。</p>
<ul>
<li>{{domxref("DeviceProximityEvent")}} イベントは、端末と物体との距離に一致する値を {{domxref("DeviceProximityEvent.value","value")}} プロパティで提供します。また、端末が何らかの物体を検出できる最短距離および最長距離を、{{domxref("DeviceProximityEvent.min","min")}} プロパティおよび {{domxref("DeviceProximityEvent.max","max")}} プロパティで提供します。</li>
<li>{{domxref("UserProximityEvent")}} イベントは、距離の大まかな近さを真偽値で表します。{{domxref("UserProximityEvent.near")}} は物体が近いときに <code>true</code> に、また物体が遠いときに <code>false</code> になります。</li>
</ul>
<h2 id="Example" name="Example">例</h2>
<pre class="brush: js">window.addEventListener('userproximity', function(event) {
if (event.near) {
// スクリーンの電源を切る
navigator.mozPower.screenEnabled = false;
} else {
// スクリーンの電源を入れる
navigator.mozPower.screenEnabled = true;
}
});</pre>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('Proximity Events', '', 'Proximity Events')}}</td>
<td>{{Spec2('Proximity Events')}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの対応</h2>
<h3 id="DeviceProximityEvent"><code>DeviceProximityEvent</code></h3>
<p class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</p>
<p>{{Compat("api.DeviceProximityEvent")}}</p>
<h3 id="UserProximityEvent"><code>UserProximityEvent</code></h3>
<p class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</p>
<p>{{Compat("api.UserProximityEvent")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{domxref("DeviceProximityEvent")}}</li>
<li>{{domxref("UserProximityEvent")}}</li>
<li>{{event("deviceproximity")}}</li>
<li>{{event("userproximity")}}</li>
</ul>
|