从HTML文件访问JavaScript函数
我是JavaScript新手,我想将我在HTML文件中制作的按钮连接到单独JavaScript文件中的函数。现在我可以在我的HTML文件中创建一个脚本并将其链接到按钮,但我不能将其链接到外部JavaScript文件。这是一个语音到文本聊天机器人 chat.html:从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> <
<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
文件。