5

是否可以判断另一个 Chrome 选项卡是否正在使用 webkitSpeechRecognition?

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

4

2 回答 2

1

除非您的客户在同一个网站上(您可以通过在数据库中记录 ip/browserprint 并通过 json 请求来检查),否则您不能这样做。

跨域保护已生效,这让您了解其他选项卡或框架中发生的情况。

于 2016-07-08T07:47:28.867 回答
0

我正在为 chrome 使用webkitSpeechRecognition(不适用于 FF),并且我遇到了相同的问题,例如多个 Chrome 选项卡。在浏览器实现更好的错误消息之前,一个适合我的临时解决方案:

  • 您需要使用Javascript在 Chrome 中检测选项卡何时聚焦或不聚焦 。

  • 制作这样的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); } }

于 2018-05-31T14:13:25.850 回答