At the Baidu Developer Conference, I introduced another important feature of HTML5 is DeviceOrientation, which provides high-level encapsulation of the underlying direction sensor and motion sensor and provides support for DOM events. This feature includes two types of events:
1. deviceOrientation: an event that encapsulates orientation sensor data and can obtain the orientation data of the mobile phone when it is stationary, such as the angle, orientation, orientation, etc. of the mobile phone.
2. deviceMotion: an event that encapsulates motion sensor data, which can obtain data such as motion acceleration when the mobile phone is in motion.
Using it, we can easily implement interesting functions such as gravity sensing and compass, which will be very useful on mobile phones. For example, the gravity sensing ball example in the Opera H5 trial version is implemented by listening to the deviceOrientation event of the DeviceOrientation API.
Use HTML5 to implement the function of shaking your phone
In fact, it can also help us implement a very common and fashionable function in mobile applications on the web: shake your phone.
The first time I saw this function was in PhotoShake. Later, many applications, large and small, including WeChat, added this function.
Use HTML5 to realize the function of shaking the phone
If you have ever done Android or iOS development, you may be very familiar with this function. But below, we will implement this feature for the first time on the Web.
Let’s get started!
DeviceMotionEvent (device motion event) returns information about acceleration and rotation of the device. The acceleration data will contain three axes: x, y and z (as shown in the figure below, the x-axis runs horizontally through the mobile phone screen or laptop keyboard, the y-axis runs vertically through the mobile phone screen or laptop keyboard, and the z-axis is perpendicular to the mobile phone screen or laptop keyboard ). Because some devices may not have hardware to exclude the influence of gravity, this event returns two properties, accelerationIncludingGravity (acceleration including gravity) and acceleration (acceleration), the latter excluding the influence of gravity.
Use HTML5 to implement the function of shaking the phone
Let’s first monitor motion sensing events.