1. 程式人生 > >想要那種有提示聲音的網站嗎?我教你怎麼做!

想要那種有提示聲音的網站嗎?我教你怎麼做!

您有新的外賣訂單請及時查收!

熟悉不能再熟悉的聲音了,今天小編就做了這樣一個網站的提示新訂單的功能,接下來就教你怎麼玩轉這個小功能!

首先我們前端的程式碼是這樣寫的:

var playSound = function () { var borswer = window.navigator.userAgent.toLowerCase(); if ( borswer.indexOf( "ie" ) >= 0 )
 { //IE核心瀏覽器
 var strEmbed = '<embed name="embedPlay" src="/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快取,或者其他快取,然後從快取裡面獲取資料等等都是可以的!

是不是很簡單,快去嘗試一下吧!