菜鸟共享一段代码,勿喷。时间紧,任务急,简单粗暴的实现。
项目需求是,多名选手通过ipad答题,现场大屏同步显示问题、正确结果与积分排行。
因为各终端页面一致,根据url参数来判断是答题设备还是大屏,来显示所需按钮,和验证登录状态。
所以这里ipad页面和大屏页面请求的url地址是不一样的,其他逻辑完全一致。主要是返回不同参数。页面都是一个页面。
页面打开后,开始答题,ajax提交答案,成功回调轮查。关键代码如下,勿喷。
ajax轮查,0.5秒一次。直接粗暴的返回了url,判断和当前页面是不是一样,如果不是就跳页面,还有一个停止轮查的动作。
<script type="text/javascript">
function luncha(){
this_url = '<?php echo $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];?>'
$.ajax({
url : "ajax_show_url.php?action=get_url",
type:'post',
dataType:'html',
success:function(data){
console.log(data)
if (data == 'jieshu') {
return;
}
if (data != '' && this_url != data) {
console.log('转跳');
window.location.href = data;
}else{
setTimeout(function () {luncha()}, 500);
}
}
});
}
luncha();
</script>