检测另一个浏览器选项卡是否正在使用speechRecognition

时间:2016-07-08 07:43:59

标签: google-chrome speech-recognition webkitspeechrecognition

是否可以判断其他Chrome标签是否正在使用webkitSpeechRecognition?

如果您尝试使用webkitSpeechRecognition而另一个选项卡正在使用它,它将抛出错误“中止”而没有任何消息。我希望能够知道webkitSpeechRecognition是否在另一个选项卡中打开,如果是,则抛出一个可以通知用户的更好的错误。

2 个答案:

答案 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); } }