题记:好久好久没有记录东西了,由于公司最近两个月的一个量表系统项目,天天都在赶需求,清华玉泉医院的护士长也真是实在难缠!现在这个项目基本完成,有好多东西需要记录!就先整理一下简单的东西吧!
项目需求:患者答量表之前可以选择是否使用语音!
这就相当于在一个页面发送请求到另一个页面,使用就应该使得语音自动播放,不使用就应该隐藏audio标签组。通过查阅资料,最简单的方法就是通过url来传递状态。直接上代码。
// 是否语音播放弹框
var fid = $('.formid');
// alert(fid.eq(0).attr('formid'))
var tagUse = true;
$('.main_box a').each(function(i){
$(this).click(function(){
$('.main_cover').css('display','block');
$('.finish').css('display','block');
$('.use').click(function(){
tagUse = true;
$(this).attr('href','../formpreview/index?formid='+fid.eq(i).attr('formid')+'&id='+tagUse+' ');
$(this).attr('target','_blank');
$('.main_cover').css('display','none');
$('.finish').css('display','none');
});
$('.no_use').click(function(){
tagUse = false;
$(this).attr('href','../formpreview/index?formid='+fid.eq(i).attr('formid')+'&id='+tagUse+' ');
$(this).attr('target','_blank');
$('.main_cover').css('display','none');
$('.finish').css('display','none');
});
});
});
通过传递id是true还是false来确定用户点击的使用还是不使用。在另一个页面通过获取url里传过来的参数来判断!代码如下:
控制语音播放与否
var url=location.search;
if(url.indexOf('?')!=-1){
var str = url.substr(1);
strs = str.split('&');
for(var i=0;i<strs.length;i++){
var value = strs[i].split('=')[1];
}
}
if(value=='true'){
$('.audio_all').css('display','block');
$('audio').attr('autoplay','autoplay');
function action(){
$('#shake_action')[0].play();
}
document.addEventListener('touchstart', action, false);
}else{
$('.audio_all').css('display','none');
$('audio').removeAttr('autoplay');
}
后来遇到的问题是:在苹果手机和一些其他手机中禁止了audio的autoplay功能,怕浪费流量,所以自动播放的功能不能实现了,所以又把第一页判断是否使用语音的弹框去掉了。