Navigator.vibrate()

Navigator.vibrate() メソッドは、端末のバイブレーションハードウェアがあればパルスを送ります。端末がバイブレーションに対応していない場合は、このメソッドは効果はありません。このメソッドが呼び出されたときに、すでにバイブレーションパターンが進行中であった場合は、前のパターンが停止され、代わりに新しいパターンが始まります。

引数が無効であるためこのメソッドがバイブレーションを実行できなかった場合は false を返し、それ以外の場合は true を返します。パターンによってとても長いバイブレーションが指定された場合は、短縮されます。最大長は実装に依存します。

構文

var successBool = window.navigator.vibrate(pattern);
pattern
バイブレーションと停止の間隔のパターンを提供します。それぞれの値はミリ秒単位の数値でバイブレーションと停止の長さを交互に表します。単一の値 (そのミリ秒だけ一度バイブレーションを行う) か、値の配列でバイブレーション、停止、再度バイブレーションと交互の値の配列で指定することができます。詳しくは Vibration API を参照してください。

0 の値、空の配列、すべての値がゼロである配列を渡すと、現在進行中のバイブレーションパターンをすべて中止します。

window.navigator.vibrate(200); // vibrate for 200ms
window.navigator.vibrate([100,30,100,30,100,30,200,30,200,30,200,30,100,30,100,30,100]); // モールス信号で 'SOS' とバイブレーションします。

仕様書

仕様書 状態 備考
Vibration API 勧告 Linked to spec is the latest editor's draft; W3C version is a REC.

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
vibrateChrome 完全対応 32Edge 完全対応 ≤79Firefox 完全対応 16
補足
完全対応 16
補足
補足 Until Firefox 26 included, when the vibration pattern was too long or any of its elements too large, Firefox threw an exception instead of returning false (bug 884935).
補足 From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns true but truncates the pattern (bug 1014581).
補足 Beginning in Firefox 72, this is not supported in cross-origin iframes.
完全対応 11
接頭辞付き
接頭辞付き moz のベンダー接頭辞が必要
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 完全対応 4.4.3
補足
完全対応 4.4.3
補足
補足 Beginning in version 55, this is not supported in cross-origin iframes.
補足 Beginning in version 60, this method requires a user gesture. Otherwise it returns false.
Chrome Android 完全対応 32
補足
完全対応 32
補足
補足 Beginning in Chrome 55, this is not supported in cross-origin iframes.
補足 Beginning in Chrome 60, this method requires a user gesture. Otherwise it returns false.
Firefox Android 完全対応 16
補足
完全対応 16
補足
補足 Until Firefox 26 included, when the vibration pattern was too long or any of its elements too large, Firefox threw an exception instead of returning false (bug 884935).
補足 From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns true but truncates the pattern (bug 1014581).
完全対応 14
接頭辞付き
接頭辞付き moz のベンダー接頭辞が必要
Opera Android 完全対応 あり
補足
完全対応 あり
補足
補足 Beginning in Opera 47, this method requires a user gesture. Otherwise it returns false.
Safari iOS 未対応 なしSamsung Internet Android 完全対応 2.0
補足
完全対応 2.0
補足
補足 Beginning in Samsung Internet 6.0, this is not supported in cross-origin iframes.
補足 Beginning in Samsung Internet 8.0, this method requires a user gesture. Otherwise it returns false.

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

関連情報