ITPub博客

首页 > IT职业 > IT图书 > 想要那种有提示声音的网站吗?我教你怎么做!

想要那种有提示声音的网站吗?我教你怎么做!

IT图书 作者:tzhang911 时间:2021-09-09 10:14:36 0 删除 编辑

您有新的外卖订单请及时查收!

熟悉不能再熟悉的声音了,今天小编就做了这样一个网站的提示新订单的功能,接下来就教你怎么玩转这个小功能!

图片描述

首先我们前端的代码是这样写的:

图片描述

var playSound = function () {
 var borswer = window.navigator.userAgent.toLowerCase();
 if ( borswer.indexOf( "ie" ) >= 0 )
 {
 //IE内核浏览器
 var strEmbed = '<embed name="embedPlay" class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="/public/Mp3/newOrder.mp3" autostart="true" hidden="true" loop="false"/>';
 if ( $( "body" ).find( "embed" ).length <= 0 ) $( "body" ).append( strEmbed );
 var embed = document.embedPlay; //浏览器不支持 audion,则使用 embed 播放 embed.volume = 100;
 } else {
 //非IE内核浏览器
 var strAudio = "<audio id='audioPlay' src='/public/Mp3/newOrder.mp3' hidden='true'>";
 if($("#audioPlay").length<=0){
 $( "body" ).append( strAudio );
 }
 var audio = document.getElementById( "audioPlay" );
 //浏览器支持 audio
 audio.play();
 }
}

上面这些是播放媒体声音的功能,下面介绍怎么去后端请求数据了

图片描述

/**新订单*/
function getNewOrder(){
 $.post("{:U('Msg/newOrder')}", {}, function(res) {
 if (res) {
 playSound();
 $.post("{:U('Msg/msgDetail')}", {id:res.id}, function(res) {});
 }
 });
}
/**定时器大家都懂吧*/
window.setInterval("getNewOrder()",3000);

以上是做ajax的轮询操作,当然你做成websockt也是可以的,本文就作为一个抛砖引玉的作用吧。

后端的话,可以去数据库查询,也可以在前端做好redis缓存,或者其他缓存,然后从缓存里面获取数据等等都是可以的!

图片描述

是不是很简单,快去尝试一下吧!

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1926/viewspace-2818806/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    100
  • 访问量
    752