【问题标题】:Accessing JavaScript function from HTML file从 HTML 文件访问 JavaScript 函数
【发布时间】:2018-06-28 17:30:46
【问题描述】:

我是 JavaScript 新手,我想将我在 HTML 文件中创建的按钮连接到单独 JavaScript 文件中的函数。现在我可以在我的 HTML 文件中创建一个脚本并将其链接到按钮,但我无法将它链接到外部 JavaScript 文件。这是一个语音到文本聊天机器人。

聊天.html:

<div id="result"></div>
<script type="text/javascript" src="public/js/stt.js"></script>
<button onclick="startConverting();"><i class="fa fa-microphone"></i></button>

stt.js:

function startConverting () {
  if('webkitSpeechRecognition' in window){
    var speechRecognizer = new webkitSpeechRecognition();
    speechRecognizer.continuous = true;
    speechRecognizer.interimResults = true;
    speechRecognizer.lang = 'en-IN';
    speechRecognizer.start();

    var finalTranscripts = '';

    speechRecognizer.onresult = function(event){
      var interimTranscripts = '';
      for(var i = event.resultIndex; i < event.results.length; i++){
        var transcript = event.results[i][0].transcript;
        transcript.replace("\n", "<br>");
        if(event.results[i].isFinal){
          finalTranscripts += transcript;
        }else{
          interimTranscripts += transcript;
        }
      }
      r.innerHTML = finalTranscripts + '<span style="color:#999">' + interimTranscripts + '</span>';
    };
    speechRecognizer.onerror = function (event) {
    };
  }else{
    r.innerHTML = 'Your browser is not supported. If google chrome, please upgrade!';
  }
}

【问题讨论】:

  • 现在它告诉我 startConverting() 没有定义
  • 文件真的被加载了吗?您可以使用浏览器开发工具并查看它是否已加载?你能从浏览器控制台调用startConverting吗?
  • 不,它说加载资源失败:服务器响应状态为 404(未找到)
  • 那么文件路径一定不正确或者文件不存在。仔细检查您是否可以直接在浏览器中访问public/js/stt.js 文件。

标签: javascript


【解决方案1】:

只需做一个 require('./yourfile.js');

将您希望外部访问的所有变量声明为全局变量。所以不是

var a = "hello" it will be

GLOBAL.a="hello" or just

a = "hello"

来源:Load and execute external js file in node.js with access to local variables?

【讨论】:

    【解决方案2】:

    删除此语句:-

    <script type="text/javascript" src="public/js/stt.js"></script>
    

    最好的方法是创建一个 js 文件并从该文件中导入你的 stt.js 文件:-

    // Load the node-import first.
    require('node-import');
    
    var variable = require('public/js/stt.js');
    

    使用上面的样式,你的 js 就可以运行了。

    【讨论】:

      【解决方案3】:

      将外部文件添加为傻瓜

      &lt;script src="myscripts.js"&gt;&lt;/script&gt;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-06
        • 2018-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 2014-10-08
        • 2011-11-23
        相关资源
        最近更新 更多