{
    "dom-navigator-vibrate": [
        {
            "engines": [
                "blink",
                "gecko"
            ],
            "partial": [
                "gecko"
            ],
            "filename": "api/Navigator.json",
            "name": "vibrate",
            "slug": "API/Navigator/vibrate",
            "mdn_url": "https://developer.mozilla.org/en-US/docs/Web/API/Navigator/vibrate",
            "summary": "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.",
            "support": {
                "chrome": {
                    "version_added": "32"
                },
                "chrome_android": {
                    "version_added": "32",
                    "notes": [
                        "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 <code>false</code>."
                    ]
                },
                "edge": "mirror",
                "firefox": [
                    {
                        "version_added": "16",
                        "notes": [
                            "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 <code>false</code> (<a href='https://bugzil.la/884935'>bug 884935</a>).",
                            "From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns <code>true</code> but truncates the pattern (<a href='https://bugzil.la/1014581'>bug 1014581</a>).",
                            "Beginning in Firefox 72, this is not supported in cross-origin iframes."
                        ]
                    },
                    {
                        "version_added": "11",
                        "version_removed": "16",
                        "prefix": "moz"
                    }
                ],
                "firefox_android": [
                    {
                        "version_added": "79",
                        "partial_implementation": true,
                        "notes": "Vibration is disabled. If the window is visible, then <code>navigator.vibrate()</code> returns <code>true</code>, but no vibration takes place (regardless of hardware support). Originally, the intent was to disable it for cross-origin frames only (<a href='https://bugzil.la/1591113'>bug 1591113</a>), but the feature was not re-enabled due to abuse concerns (<a href='https://bugzil.la/1653318'>bug 1653318</a>)."
                    },
                    {
                        "version_added": "16",
                        "version_removed": "79",
                        "notes": [
                            "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 <code>false</code> (<a href='https://bugzil.la/884935'>bug 884935</a>).",
                            "From Firefox 32 onwards, when the vibration pattern is too long or any of its elements too large, it returns <code>true</code> but truncates the pattern (<a href='https://bugzil.la/1014581'>bug 1014581</a>)."
                        ]
                    },
                    {
                        "version_added": "14",
                        "version_removed": "16",
                        "prefix": "moz"
                    }
                ],
                "ie": {
                    "version_added": false
                },
                "oculus": "mirror",
                "opera": "mirror",
                "opera_android": {
                    "version_added": "19",
                    "notes": [
                        "Beginning in Opera 42, this is not supported in cross-origin iframes.",
                        "Beginning in Opera 47, this method requires a user gesture. Otherwise it returns <code>false</code>."
                    ]
                },
                "safari": {
                    "version_added": false
                },
                "safari_ios": "mirror",
                "samsunginternet_android": "mirror",
                "webview_android": {
                    "version_added": "4.4.3",
                    "notes": [
                        "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 <code>false</code>."
                    ]
                },
                "edge_blink": {
                    "version_added": "79"
                }
            },
            "title": "Navigator: vibrate() method"
        }
    ]
}
