我正在将qr阅读器作为大型Web应用程序的一部分。由于该应用程序针对每个视图分为多个页面,因此没有一个页面应用程序(SPA),因此我通常不会在qr阅读器页面上与用户进行任何交互,因为他们已经在上一页中通过单击“打开”完成了此操作阅读器”按钮。通过调用navigator.vibrate(200)
,如果用户没有在调用它的页面上点击屏幕,浏览器将不会振动。我想将振动API用作成功找到qr代码的信号。
据我所知,这是使用限制用户交互功能的任何“老派”非SPA网络应用程序的普遍问题。例如。振动,全屏,自动播放。
除了将带有按钮的页面和qr读取器合并为一个页面,以免丢失页面重新加载之间的“用户已交互”,是否有其他解决方法?
function qrCodeFoundCallback() {
if ('vibrate' in navigator) {
navigator.vibrate(200)
}
}
我希望支持振动api的设备即使找到qr代码也会始终振动,即使在加载带有相机取景器的页面后用户没有触摸屏幕也是如此。
现在,仅当用户随机触摸屏幕时设备才会振动,但没有理由让他/她这样做。该页面仅包含相机查找器和后退按钮。