通知アラートに使用されるこの JavaScript 関数があります。これが何をするかです -- Ajax を使用して php に接続します -- php は JavaScript コードを送信します -- eval(code) を使用して実行されたコードは、新しい通知で div を更新します
Javascript コード
function LOAD_NOTIFICATIONS(uid){
$(document).ready(function() {
var sendData = { action : 'LoadUserNotifications' , uid : uid } ;
$.ajax({
url: 'config/ajax/loader.php',
cache: false,
data: sendData,
success: function(retData){
eval(retData);
}
});
});
setTimeout('LOAD_NOTIFICATIONS(' + uid + ')', 10000 );
//Recheck every 10 secs
}
PHP サーバー
if($action == 'LoadUserNotifications'){
$uid = clean($_POST['uid']) ;
$Notifications = LoadUserNotifications($uid) ;
$count = $Notifications[0] ;
$html = $Notifications[1] ;
$ret = "
$('#NotificationCount').html('$count').css('visibility','visible');
$('#notifynav').html(\"$html\"); // Update notification Div
" ;
if($count == 0){
$ret = "
$('#NotificationCount').css('visibility','hidden');
$('#notifynav').html(\"<li><a href='' class='false' onclick='return false' >no notification</a></li>\"); " ;
}
echo '$(function(){'.$ret.'});' ;
exit();
}
問題は、この JavaScript 関数を Webworker に変換して同じタスクを実行する方法です。