Javascript 如何在读取TTS消息后添加页面刷新功能

Javascript 如何在读取TTS消息后添加页面刷新功能,javascript,electron,text-to-speech,Javascript,Electron,Text To Speech,我正在尝试在TTS结束对话后向我的应用程序添加页面刷新。应该很简单,我只是不太了解TTS。现在我有一个启动TTS对话序列的键控,然后另一个键控刷新页面。但我也希望在演讲结束后立即刷新 我试过这个: window.speechSynthesis.speak(msg); window.location.reload(); 很明显,当文本开始说话时会重新加载。我也考虑过这样做: window.speechSynthesis.speak(msg).window.location.reload();

我正在尝试在TTS结束对话后向我的应用程序添加页面刷新。应该很简单,我只是不太了解TTS。现在我有一个启动TTS对话序列的键控,然后另一个键控刷新页面。但我也希望在演讲结束后立即刷新

我试过这个:

window.speechSynthesis.speak(msg);
window.location.reload();
很明显,当文本开始说话时会重新加载。我也考虑过这样做:

window.speechSynthesis.speak(msg).window.location.reload();
但这似乎并不正确。我敢肯定,这可能接近于这一点。注意:由于保密原因,下面不是我的完整代码

var voice = speechSynthesis.getVoices();
speechSynthesis.getVoices().forEach(function(voice) {
  console.log(voice.name, voice.default ? voice.default
    :
    '');
});

msg.pitch = 1.1;
msg.volume = 1;
msg.rate = 0.65;
msg.voice = voices[5];
msg.lang = 'en-US';


window.speechSynthesis.speak(msg);
window.location.reload();


document.addEventListener('keyup', function(e) {
  if (e.keyCode == 82)
    window.location.reload();
})

我只想在留言后重新加载

请尝试使用此代码刷新页面

location.reload();


您可以将一个函数附加到所说消息的onend事件

下面是一个简单的示例,它播放一条消息,然后重新加载一个页面

var msg = new SpeechSynthesisUtterance();
msg.text = "Hello there";
msg.onend = function(what) { console.log('event details',what); window.location.reload(); }
window.speechSynthesis.speak(msg);

谢谢,但是我该如何在演讲后将其融入到提神中呢?但是我有window.location.reload;我如何正确地放置它以使其自动?谢谢Kyle K,我尝试使用它,但它不起作用,因为我的TTS正在从列表中读取,因此在它读取第一行后,msg.oned将重新加载我的页面并中断此操作。你知道有没有办法解决这个问题吗?你想把ONED事件附加到最后一行。
window.location.reload();
window.location.reload(true);
window.location.href = window.location.href;
setTimeout(function(){ window.location.reload(); }, 2000);
var msg = new SpeechSynthesisUtterance();
msg.text = "Hello there";
msg.onend = function(what) { console.log('event details',what); window.location.reload(); }
window.speechSynthesis.speak(msg);