语音播报有个问题,就是弹出层有时无法关闭页面的播报,如果弹出层也有语音播报,就会造成语音混者播放
解决办法就是在弹出窗口(我用的弹出层框架是layui的)之前清空语音
window.operEdit = function (url, title){
window.speechSynthesis.cancel();//发料页面无法清空父页面的语音,会造成语音混着播放,因此弹窗之前就清空语音,弹窗里的语音只在弹窗内有效,弹窗关闭就无效了,即时当前页面刷新后语音会继续播报
var index = layer.open({
id: 'addRequest', //设定一个id,防止重复弹出
title:title,
type: 2,
offset: 't',
shade: 0.3,
area: ['100%', '60%'],
content: url,
closeBtn: 0,
success: function(layero, index) {
mteSearchBtn.click();
}
});
}
弹出层中我是 弹出一个新的html ,里面语音只会在弹出层内有效,当弹出层关闭时语音也就失效了,我在弹出层关闭的时候在调用打开弹出层的open方法的success方法中添加了页面的刷新方法(页面的查询按钮触发click()事件),当页面刷新时原有的语音就会继续播放了