0
我正在使用drupal的網站。我寫了自定義模塊,它在瀏覽器中顯示通知,並在網站中打開彈出窗口。使用ajax製作網站緩慢或mysql鎖定顯示通知並打開網站彈出框
如果條件爲錯誤或錯誤發生,我正在使用JavaScript函數,該函數每15秒或更少時間調用一次。
問題是如果有5個頁面打開,那麼在所有頁面上設置超時功能在所有頁面上每15秒鐘或更短時間呼叫並使站點變慢或破壞站點。
請提供一些指導來改善本網站的性能。
(function ($) {
$(function() {
// 任何需è¦æ‰§è¡Œçš„js特效
setTimeout("countSecond2()", 15000);
$('body').on('click','#popClose',function(event){
//jQuery(".pop_content_message").click(function() {
$(this).parents('#pop').remove();
});
});
})(jQuery);
function countSecond() {
var data = '';
var need_delay = 0;
var js_common_messages_popup = '/messages/popup';
jQuery.ajax({
url: js_common_messages_popup,
type : "post",
dataType : "text",
data : data,
async: true,
success: function(msg) {
var Obdata = jQuery.parseJSON(msg);
if(Obdata !=null){
//alert('1p='+JSON.stringify(msg));
var call = Obdata.call;
var output = Obdata.output;
var selectbox = Obdata.selectbox;
var checkbox = Obdata.checkbox;
var url = Obdata.url;
var need_delay = Obdata.need_delay;
if (call == '1') {
browser_notification(Drupal.t('You have a new reminder'), '', url);
jQuery('#id_pop_task').prepend(output);
jQuery('#id_pop_task .pop_content_message').show();
/*jQuery('#id_pop_task').html(output);
jQuery('#pop').show();
jQuery("#popClose").click(function() {
jQuery('#pop').hide();
});*/
if (selectbox == '1') {
//jQuery("#antiStress").selectbox();
jQuery("[id=antiStress]").selectbox();
}
if (checkbox == '1') {
jQuery('.customR input[type="checkbox"]').ezMark({checkboxCls: "ez-checkbox-green", checkedCls: "ez-checked-green"});
}
setTimeout("countSecond2()", 15000);
}else {
countSecond2();
}
}
else {
countSecond2();
}
},
beforeSend: function() {
//jQuery('#loading').hide();
},
complete: function() {
},
error: function() {
countSecond2();
//location.reload();
}
});
}
function countSecond2() {
var data = '';
var need_delay = 0;
var js_common_messages_popup = '/messages/popup2';
jQuery.ajax({
url: js_common_messages_popup,
type : "post",
dataType : "text",
data : data,
async: true,
success: function(msg) {
var Obdata = jQuery.parseJSON(msg);
if(Obdata !=null){
//alert('2p='+JSON.stringify(msg));
var call = Obdata.call;
var output = Obdata.output;
var selectbox = Obdata.selectbox;
var checkbox = Obdata.checkbox;
var url = Obdata.url;
var need_delay = Obdata.need_delay;
if (call == '1') {
browser_notification(Drupal.t('You have a new reminder'), '', url);
jQuery('#id_pop_task').prepend(output);
jQuery('#id_pop_task .pop_content_message').show();
/*jQuery('#id_pop_task').html(output);
jQuery('#pop').show();
jQuery("#popClose").click(function() {
jQuery('#pop').hide();
});*/
if (selectbox == '1') {
//jQuery("#antiStress").selectbox();
jQuery("[id=antiStress]").selectbox();
}
if (checkbox == '1') {
jQuery('.customR input[type="checkbox"]').ezMark({checkboxCls: "ez-checkbox-green", checkedCls: "ez-checked-green"});
}
setTimeout("countSecond2()", 15000);
}else {
countSecond();
}
}
else {
countSecond();
}
},
beforeSend: function() {
//jQuery('#loading').hide();
},
complete: function() {
},
error: function() {
countSecond();
//location.reload();
}
});
}
感謝您的答覆:有關檢測這裏提供的活動標籤
更多信息。我檢查 –
不客氣 –
但是,如果通知可用,我已經通知所有時間。所以,如果我使用這個代碼,那麼它將不會一直調用Ajax函數。並且通知不會按時顯示。 –