注意:显示临时标题

我无法调试出现在一周前的消息。

我尝试还原到旧文件,但这很奇怪,没有任何解决方案可以解决我的问题。

因此:我有两个长时间的轮询请求。(关闭其中之一没有帮助)。

例如,这是其中之一:

public function update_private_messages_ajax_handler(){

global $wpdb;

global $bp;

$chat_table = $wpdb->prefix . 'bp_dollars_chat';

$current_user = $bp->loggedin_user->id;

ob_start();

header("Content-Type: application/json");

header("Cache-Control: no-cache, must-revalidate");

header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

$startTime = time();

while((time()-$startTime)<=20) {

$messages = $wpdb->get_results(

$wpdb->prepare("(SELECT *

FROM $chat_table

WHERE to_user = %d

AND recd = 1

AND id > %d

ORDER BY id DESC) ORDER BY id ASC

", $current_user, $_POST['last_id'])

);

if($messages) {

foreach($messages as $v){

//$v->timestring = date_i18n($this->date_format.' - '.$this->time_format, $v->unix_timestamp+$this->gmt_offset);

$v->name = get_dollar_name($v->from_user);

$v->avatar = get_avatar($v->from_user, 50);

//$v->message = convert_smilies( $v->message );

}

$response = json_encode(array('no_participation' => $this->no_participation, 'success'=> 1, 'messages'=>$messages));

echo $response;

ob_flush(); flush();

exit;

} else {

sleep($this->options['timeout_refresh_messages']);

}

}

$response = json_encode(array('no_participation' => $this->no_participation, 'success'=> 0));

echo $response;

ob_flush(); flush();

exit;

}

如您所见,我发送了缓存控制标头,因此这应该不是这里描述的问题, 我也没有安装任何adBlocker,这是本地安装。

有一个客户端脚本

update_private_messages: function() {

jQuery.post(quick_chat.ajaxurl, {

action: 'quick-chat-ajax-update-pmessages',

last_id: quick_chat.last_private_id

},

function(data) {

console.log(data);

if(data.success == 1) {

var updates = data.messages;

var already_notified = 0;

var chat_history = jQuery('.popoverx.chat.in .chathistory');

for(var i=0;typeof(updates[i])!='undefined';i++){

// this in case if window open and new message is for current user

if(quick_chat.privateOpen == true && (quick_chat.privateOhter == updates[i].from_user || quick_chat.privateOhter == updates[i].to_user )) {

// @TODO do I animate every time?

jQuery(chat_history).prepend(quick_chat.single_private_html(updates[i])).animate({scrollTop: 0}, 500);

} else if(updates[i].recd == 1 && updates[i].from_user != quick_chat.user_id) {

// not yet in unread group

if(quick_chat.privateUnread.indexOf(parseInt(updates[i].from_user)) == -1) {

quick_chat.privateUnread.push(parseInt(updates[i].from_user));

}

if(already_notified == 0 && quick_chat.last_private_id != 0 && updates[i].from_user != quick_chat.user_id) {

if(quick_chat.play_audio == 1) {

quick_chat.audio_element.play();

}

already_notified = 1;

}

}

}

// update label

var unreadIcon = jQuery('#bs-navbar-right > li > a.messages');

if(quick_chat.privateUnread.length != 0) {

unreadIcon.find('span').remove().end().append('<span class="label label-danger">'+ quick_chat.privateUnread.length +'</span>')

} else {

unreadIcon.find('span').remove()

}

quick_chat.last_private_id = updates[updates.length-1].id;

}

quick_chat.update_private_messages();

}, 'json'

);

}

这正常吗?我不能将其作为长时间轮询的正常消息-因为它是待处理的请求。它似乎只是没有记录在任何地方


注意:我也有许多短轮询请求,这可能是多于6个请求相互抵消的情况,但是-我也尝试关闭所有其他请求,但一个(长轮询)除外,这不是一种情况


这是工作的原始脚本,因此您可以看到以下消息:http

//www.techytalk.info/wordpress/quick-

chat/


只是为了概括这个问题:这正常吗?(在使用彗星的其他站点上,我看不到这个问题)-如果没有,-我应该在哪里寻找问题,客户端还是服务器端?他们在这里说,在这种情况下,根本没有发送请求,但是那不是真的,我的脚本正在运行并且我无法聊天(这是一个聊天脚本)

回答:

在chrome中,这是完全正常的(截至最近)。有一个讨论,在这里,他们讨论的变化,本质上挂起它是不正确显示某些头的要求,所以现在他们显示警告,这些都是临时标题。

从讨论中:

网络面板:增加有关临时请求标头的警告。(是:在开发人员工具中,待处理请求的请求标头不正确)

我不知道该修复程序何时真正发布,或者您是否一直将Chrome保持打开状态,因此它有一段时间没有更新-但几乎可以肯定,您没有做任何事情-只是Chrome现在的工作方式。

以上是 注意:显示临时标题 的全部内容, 来源链接: utcz.com/qa/421281.html

回到顶部