javascript - 使用 js 启动 Google 语音识别会出错 - 不允许

标签 javascript html google-api google-voice

我正在尝试通过单击按钮开始语音识别以进行搜索,为此我使用了此代码 -

<style>
  .speech {border: 1px solid #DDD; width: 300px; padding: 0; margin: 0}
  .speech input {border: 0; width: 240px; display: inline-block; height: 30px;}
  .speech img {float: right; width: 40px }
</style>

<!-- Search Form -->
<form id="labnol" method="get" action="https://www.google.com/search">
  <div class="speech">
    <input type="text" name="q" id="transcript" placeholder="Speak" />
    <img onclick="startDictation()" src="//i.imgur.com/cHidSVu.gif" />
  </div>
</form>

<!-- HTML5 Speech Recognition API -->
<script>
  function startDictation() {

    if (window.hasOwnProperty('webkitSpeechRecognition')) {

      var recognition = new webkitSpeechRecognition();

      recognition.continuous = false;
      recognition.interimResults = false;

      recognition.lang = "en-US";
      recognition.start();

      recognition.onresult = function(e) {
        document.getElementById('transcript').value
                                 = e.results[0][0].transcript;
        recognition.stop();
        document.getElementById('labnol').submit();
      };

      recognition.onerror = function(e) {
        console.log(e);
        recognition.stop();
      }

    }
  }
</script>

我从 recognition.onerror - SpeechRecognitionError {isTrusted: true, error: "not-allowed", message: "", type: "error", 得到 e 的这个值目标:SpeechRecognition,......}

我正在使用来自 labnol 的代码

我无法弄清楚问题,为什么我会收到错误 - 不允许任何人都可以帮忙。

最佳答案

这是因为来源不受信任。

来源应至少匹配以下(方案、主机、端口)模式之一:

(https, *, *)
(wss, *, *)
(*, localhost, *)
(*, 127/8, *)
(*, ::1/128, *)
(file, *, —)
(chrome-extension, *, —) 

欲了解更多信息,请访问 - https://www.chromium.org/Home/chromium-security/prefer-secure-origins-for-powerful-new-features

关于javascript - 使用 js 启动 Google 语音识别会出错 - 不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54349217/

相关文章:

javascript - 如何创建突出显示顶部区域的 Highcharts 区域?

javascript - [this] 如何在严格模式下未定义?

javascript - 是否可以将 JQuery include 与 Angular Includes 一起使用?

android - 无法在 Android 模拟器上检索 OAuth 2.0 访问 token

javascript - 将三个.js示例的webgl_loader_obj_mtl.html集成到ASP.NET WebForm(mtlLoader.setPath失败)

javascript - HTML页面编码问题

python - 尝试使用 BeautifulSoup 查找 div 时,Webscraping 不会返回任何内容

charts - 如何指定谷歌饼图的大小?

索引 API 403 权限被拒绝。无法验证 URL 所有权

JavaScript - 子继承破坏了父继承