如何在JavaScript语音播报完成后实现页面跳转?
实现ResponsiveVoice语音播报结束后自动页面重定向
嘿,你找对思路啦!不过ResponsiveVoice的事件处理逻辑和video元素不太一样——它不需要用addEventListener来监听结束事件,而是直接在speak方法的配置参数里提供onend回调函数就能搞定。
下面是修改后的完整代码,我还顺便把你的字符串拼接改成了更简洁的ES6模板字符串:
// 替换成你的实际name变量值 const name = "John"; const sentence = `Oh Hello, ${name}. I am Eve. .... ${name} = human?!..Ive never seen one of those...What does ${name} look like?`; responsiveVoice.speak(sentence, "US English Female", { rate: 0.5, pitch: -2, onend: function() { // 语音播报完成后自动重定向 window.location.href = "https://www.google.com/"; } });
关键说明:
- 你原来的代码里给
speak传了两个独立的配置对象,这是错误的——ResponsiveVoice的speak方法第三个参数是单个配置对象,需要把rate、pitch和回调函数都放在里面。 onend是ResponsiveVoice官方提供的回调钩子,当语音播放完全结束时会自动触发这个函数,刚好满足你的需求。
内容的提问来源于stack exchange,提问作者B.Ashcroft
相关产品推荐
相关产品推荐

