是否可以判断另一个 Chrome 选项卡是否正在使用 webkitSpeechRecognition?
如果您尝试在另一个选项卡使用 webkitSpeechRecognition 时使用它,它将抛出错误“已中止”而没有任何消息。我希望能够知道 webkitSpeechRecognition 是否在另一个选项卡中打开,如果是,则抛出一个可以通知用户的更好的错误。
是否可以判断另一个 Chrome 选项卡是否正在使用 webkitSpeechRecognition?
如果您尝试在另一个选项卡使用 webkitSpeechRecognition 时使用它,它将抛出错误“已中止”而没有任何消息。我希望能够知道 webkitSpeechRecognition 是否在另一个选项卡中打开,如果是,则抛出一个可以通知用户的更好的错误。
除非您的客户在同一个网站上(您可以通过在数据库中记录 ip/browserprint 并通过 json 请求来检查),否则您不能这样做。
跨域保护已生效,这让您了解其他选项卡或框架中发生的情况。
我正在为 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);
}
}