从HTML文件访问JavaScript函数

从HTML文件访问JavaScript函数,javascript,Javascript,我是JavaScript新手,我想将我在HTML文件中制作的按钮连接到单独JavaScript文件中的函数。现在我可以在我的HTML文件中创建一个脚本并将其链接到按钮,但我不能将其链接到外部JavaScript文件。这是一个语音到文本聊天机器人 chat.html: <div id="result"></div> <script type="text/javascript" src="public/js/stt.js"></script> <

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

chat.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!';
  }
}
函数开始转换(){
if(窗口中的“webkitSpeechRecognition”){
var speechRecognizer=new-webkitSpeechRecognition();
speechRecognizer.continuous=true;
speechRecognizer.interimResults=true;
speechRecognizer.lang='en-IN';
speechRecognizer.start();
var finalTranscripts='';
speechRecognizer.onresult=函数(事件){
var interimTranscripts='';
对于(var i=event.resultIndex;i”);
if(event.results[i].isFinal){
FinalTranscript+=转录本;
}否则{
中间转录本+=转录本;
}
}
r、 innerHTML=finalTranscripts+“”+interimTranscripts+“”;
};
speechRecognizer.onerror=函数(事件){
};
}否则{
r、 innerHTML='您的浏览器不受支持。如果是google chrome,请升级!';
}
}

将外部文件添加为


将外部文件添加为傻瓜

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

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

var a = "hello" it will be

GLOBAL.a="hello" or just

a = "hello"
来源:

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

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

var a = "hello" it will be

GLOBAL.a="hello" or just

a = "hello"

来源:

删除此语句:-

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

使用上述样式,js将运行。

删除此语句:-

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

使用上述样式,您的js将运行。

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