语音播报有个问题,就是弹出层有时无法关闭页面的播报,如果弹出层也有语音播报,就会造成语音混者播放
解决办法就是在弹出窗口(我用的弹出层框架是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()事件),当页面刷新时原有的语音就会继续播放了