当前位置: 首页 > 面试题库 >

注意:显示临时标题

叶富
2023-03-14
问题内容

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

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

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

例如,这是其中之一:

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现在的工作方式。



 类似资料:
  • 当我使用Google chrome inspector查看下载的资源时,我注意到一条奇怪的警告信息(F12): 注意:显示了临时标题 我发现了一些可能相关的东西,网络面板:添加关于临时请求头的警告,但我不能完全理解它。可以在Chrome阻止请求以及无法加载XMLHttpRequest中找到相关问题。卸载的资源显示警告:显示临时标题。 与第一个问题类似,我的资源被阻止,但后来自动加载了相同的资源。与

  • 本文向大家介绍C#程序显示临时文件名,包括了C#程序显示临时文件名的使用技巧和注意事项,需要的朋友参考一下 C#中的方法显示临时文件名- 获取变量中的名称并显示- 以下是代码- 示例 输出结果

  • 借用检查器使用显式的生命周期来明确引用的有效时间应该持续多久。在生命周期没有省略[^1]的情况,Rust 需要显式标注来确定引用的生命周期应该是什么样的。对于显式地标注引用的生命周期的语法如下: foo<'a> // `foo` 带有一个生命周期参量 `'a` 和闭包类似,使用生命周期需要泛型。另外这个生命周期的语法也表明了 foo 的生命周期不能超出 'a 的周期。类型的显式标注有 &'a T

  • 问题内容: 我正在评估各种选项,以便针对Oracle中的单个临时数据集运行一堆高性能查询。在T- SQL中,我可能会使用内存中的临时表,但是Oracle没有与此功能完全相同的功能。 我目前看到这些选项: 1.全局临时表 计划: 2.取消PL / SQL表类型变量的嵌套 计划: 3.物化视图 对于这个用例,我将它们排除在外,因为所讨论的临时数据集相当复杂,并且对更新实例化视图的影响将太大。 实际数据

  • 显示标题 选择(影像)观看保存至Memory Stick™的图像文件案时,会显示标题数据而非文件名。 标题 显示标题 文件名 显示文件名 提示 若图像文件案无任何标题数据,则会显示文件名。 若要显示标题,需先透过计算机使用专用软件,将影像转换为可在PSP™上播放的格式。 图像文件案必需为可在PSP™上播放的格式,并需保存至Memory Stick™的「VIDEO」文件夹内。

  • 我遵循这个例子:https://docs.mapbox.com/android/maps/examples/symbol-layer-info-window/ 也在这里: https://github.com/mapbox/mapbox-android-demo/blob/master/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroid