Navigator.vibrate()

The Navigator.vibrate() method pulses the vibration hardware on the device, if such hardware exists. If the device doesn't support vibration, this method has no effect. If a vibration pattern is already in progress when this method is called, the previous pattern is halted and the new one begins instead.

If the method was unable to vibrate because of invalid parameters, it will return false, else it returns true.  If the pattern leads to a too long vibration, it is truncated: the max length depends of each implementation.

Syntax

var successBool = window.navigator.vibrate(pattern);
pattern
Provides a pattern of vibration and pause intervals. Each value indicates a number of milliseconds to vibrate or pause, in alternation. You may provide either a single value (to vibrate once for that many milliseconds) or an array of values to alternately vibrate, pause, then vibrate again. See Vibration API for details.

Passing a value of 0, an empty array, or an array containing all zeros will cancel any currently ongoing vibration pattern.

Examples

window.navigator.vibrate(200); // vibrate for 200ms
window.navigator.vibrate([100,30,100,30,100,200,200,30,200,30,200,200,100,30,100,30,100]); // Vibrate 'SOS' in Morse.

Specifications

Specification Status Comment
Vibration API Recommendation Linked to spec is the latest editor's draft; W3C version is a REC.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) webkit 11.0 (11.0) moz
16.0 (16.0) (no prefix) [1]
Not supported Not supported Not supported
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) webkit 11.0 (11.0) moz
16.0 (16.0) (no prefix) [1]
Not supported Not supported Not supported

[1] When the vibration pattern is too long or any of its elements are too large, until Firefox 26 included, Gecko threw an exception, instead of returning false (bug 884935). From Firefox 32 onwards, it returns true but truncates the pattern (bug 1014581).

See also

Document Tags and Contributors

Contributors to this page: chrisdavidmills, teoli, kscarfone, Sheppy, ethertank, dbruant, fscholz
Last updated by: chrisdavidmills,
Hide Sidebar