我正在使用Vibration API振动用户设备以改善UX。
navigator.vibrate(200);
问题在于它在不受支持的浏览器/设备上破坏了我的网站。我知道我可以在调用振动方法之前检查振动支持:
if("vibrate" in navigator) {
// vibration API supported
}
但是我已经发布了我的网站,它是实时的。我需要某种黑客手段,这将迫使不受支持的浏览器/设备在使用过的地方忽略navigator.vibrate()
方法。
答案 0 :(得分:0)
方法1
if(window.navigator && typeof window.navigator.vibrate !=='undefined')
{
//Execute your code
console.log("Vibrate API is supported by browser",window.navigator.vibrate);
}
else
{
console.log("Browser issues: Vibrate API not supported");
}
MEHTOD 2
try
{
console.log("Vibrate API is supported by browser",window.navigator.vibrate);
//Execute your code
}
catch(Err)
{
console.log("Browser issues:",Err);
}
答案 1 :(得分:0)
根据Keith的建议
这4行(保留在全球范围内)将阻止不受支持的浏览器/设备破坏您的网站。
let mainNavigator = window.navigator;
let navigator = {};
let vibrationSupport = "vibrate" in mainNavigator;
vibrationSupport ? navigator.vibrate = function(value) { mainNavigator.vibrate(value); } : navigator.vibrate = function(value) {};