是否可以判断其他Chrome标签是否正在使用webkitSpeechRecognition?
如果您尝试使用webkitSpeechRecognition而另一个选项卡正在使用它,它将抛出错误“中止”而没有任何消息。我希望能够知道webkitSpeechRecognition是否在另一个选项卡中打开,如果是,则抛出一个可以通知用户的更好的错误。
答案 0 :(得分:1)
除非您的客户在同一个网站上(您可以通过在数据库中记录ip / browserprint并通过json请求来检查),否则您无法做到。
跨域保护功能已生效,让您了解其他标签或框架中发生的情况。
答案 1 :(得分:0)
我正在使用 webkitSpeechRecognition 进行Chrome(在FF上不起作用),我遇到了类似多个Chrome标签的问题。直到浏览器实现更好的错误消息,一个适合我的临时解决方案:
您需要检测Chrome中使用的标签何时聚焦 Javascript
制作像这样的javascript代码
isChromium = window.chrome;
if(isChromium)
{
if (window.addEventListener)
{
// bind focus event
window.addEventListener("focus", function (event)
{
console.log("Browser tab focus..");
recognition.stop();// to avoid error
recognition.start();
}, false);
window.addEventListener("blur", function (event)
{
console.log("Browser tab blur..");
recognition.stop();
}, false);
}
}