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
|
---
title: deviceorientation
slug: Web/API/Window/deviceorientation_event
tags:
- Имитация смены положения
- Определение ориентации
- Ориентация
- Сенсоры
translation_of: Web/API/Window/deviceorientation_event
---
<p>Событие <code>deviceorientation</code> срабатывает, когда с сенсоров ориентации поступают новые данные о текущем положении устройства внутри Земной системы координат. Эти данные собираются с помощью мангитометра устройства. Более детальное объяснение дано в <a href="/en-US/docs/DOM/Orientation_and_motion_data_explained">Ориентация и объяснение данных движения</a>.</p>
<h2 id="Общая_информация">Общая информация</h2>
<dl>
<dt style="float: left; text-align: right; width: 120px;">Спецификация</dt>
<dd style="margin: 0 0 0 120px;">Событие <a class="external" href="http://www.w3.org/TR/orientation-event/#deviceorientation">DeviceOrientation</a></dd>
<dt style="float: left; text-align: right; width: 120px;">Определение</dt>
<dd style="margin: 0 0 0 120px;">DeviceOrientationEvent</dd>
<dt style="float: left; text-align: right; width: 120px;">Всплывает</dt>
<dd style="margin: 0 0 0 120px;">Нет</dd>
<dt style="float: left; text-align: right; width: 120px;">Отменяемо</dt>
<dd style="margin: 0 0 0 120px;">Нет</dd>
<dt style="float: left; text-align: right; width: 120px;">Целевой элемент</dt>
<dd style="margin: 0 0 0 120px;">По умолчанию (<code>window</code>)</dd>
<dt style="float: left; text-align: right; width: 120px;">Действие по умолчанию </dt>
<dd style="margin: 0 0 0 120px;"> </dd>
<dd style="margin: 0 0 0 120px;">Нет</dd>
</dl>
<h2 id="Свойства">Свойства</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Property</th>
<th scope="col">Type</th>
<th scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>target</code> {{readonlyInline}}</td>
<td>{{domxref("EventTarget")}}</td>
<td>The event target (the topmost target in the DOM tree).</td>
</tr>
<tr>
<td><code>type</code> {{readonlyInline}}</td>
<td>{{domxref("DOMString")}}</td>
<td>The type of event.</td>
</tr>
<tr>
<td><code>bubbles</code> {{readonlyInline}}</td>
<td>{{jsxref("Boolean")}}</td>
<td>Whether the event normally bubbles or not</td>
</tr>
<tr>
<td><code>cancelable</code> {{readonlyInline}}</td>
<td>{{jsxref("Boolean")}}</td>
<td>Whether the event is cancellable or not?</td>
</tr>
<tr>
<td><code>alpha</code> {{readonlyInline}}</td>
<td>double (float)</td>
<td>The current orientation of the device around the Z axis; that is, how far the device is rotated around a line perpendicular to the device.</td>
</tr>
<tr>
<td><code>beta</code> {{readonlyInline}}</td>
<td>double (float)</td>
<td>The current orientation of the device around the X axis; that is, how far the device is tipped forward or backward.</td>
</tr>
<tr>
<td><code>gamma</code> {{readonlyInline}}</td>
<td>double (float)</td>
<td>The current orientation of the device around the Y axis; that is, how far the device is turned left or right.</td>
</tr>
<tr>
<td><code>absolute</code> {{readonlyInline}}</td>
<td>{{jsxref("boolean")}}</td>
<td>This value is <code>true</code> if the orientation is provided as a difference between the device coordinate frame and the Earth coordinate frame; if the device can't detect the Earth coordinate frame, this value is <code>false</code>.</td>
</tr>
</tbody>
</table>
<h2 id="Пример">Пример</h2>
<pre class="pass: js">if (window.DeviceOrientationEvent) {
window.addEventListener("deviceorientation", function(event) {
// alpha: rotation around z-axis
var rotateDegrees = event.alpha;
// gamma: left to right
var leftToRight = event.gamma;
// beta: front back motion
var frontToBack = event.beta;
handleOrientationEvent(frontToBack, leftToRight, rotateDegrees);
}, true);
}
var handleOrientationEvent = function(frontToBack, leftToRight, rotateDegrees) {
// Сделайте что-нибудь необычное здесь
};
</pre>
<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
<p>{{CompatibilityTable}}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Свойство</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari (WebKit)</th>
</tr>
<tr>
<td>Базовая поддержка</td>
<td>7.0</td>
<td>3.6<sup>[1]</sup></td>
<td>{{CompatUnknown}}</td>
<td>{{CompatUnknown}}</td>
<td>{{CompatUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Свойство</th>
<th>Android</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Phone</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Базовая поддержка</td>
<td>3.0</td>
<td>3.6<sup>[1]</sup></td>
<td>{{CompatNo}}</td>
<td>12</td>
<td>4.2</td>
</tr>
</tbody>
</table>
</div>
<p>[1] Firefox 3.6, 4, и 5 поддерживают <a href="/en-US/docs/Web/Events/MozOrientation">mozOrientation</a> вместо стандартного события <code>DeviceOrientation</code>.</p>
<h2 id="Похожие_события">Похожие события</h2>
<ul>
<li><a href="/en-US/docs/Web/Events/devicemotion"><code>devicemotion</code></a></li>
</ul>
<h2 id="Смотрите_также">Смотрите также</h2>
<ul>
<li>{{domxref("DeviceMotionEvent")}}</li>
<li>{{domxref("window.ondeviceorientation")}}</li>
<li><a href="/en-US/docs/Web/API/Detecting_device_orientation">Определение ориентации устройства</a></li>
<li><a href="/en-US/docs/Web/Guide/Events/Orientation_and_motion_data_explained">Ориентация и объяснение данных о движении</a></li>
<li>Имитация события смены ориентации в настольныъ браузерах с помощью <a href="http://louisremi.github.com/orientation-devtool/">orientation-devtool</a></li>
</ul>
|