0

问题是,当有新消息时,Chrome 不会只提醒一次,而是以相同的值提醒 5-8 次。相比之下,这些代码与 FF 配合得很好,它只会发出一次警报。如何修复代码以支持 Chrome。HTML:

setInterval(function() {
    $.get('/restaurant/get_msg_notification',{},function(data){
        alert(data)
    })
}, 1000)

看法:

def get_msg_notification(request):    
    while True:
        # check is there any new messages ?
        msg = Message.objects.filter(receiver = user, notify = False)
        if( len(msg)==0 and patient<5):
            time.sleep(5)
            patient+=1
        else:
            break
    if( len(msg) > 0):
        data = serializers.serialize('json', msg)
        msg.update(notify = True)
        return HttpResponse(data, mimetype="application/json")
    else:
        return HttpResponse("")
4

1 回答 1

0

实际上,Firefox 似乎是无法正常工作的那个。请尝试以下代码:

def get_msg_notification(request):    
    while True:
        # check is there any new messages ?
        msg = Message.objects.filter(receiver = user, notify = False)
        if(patient < 5):
            time.sleep(5)
            patient+=1
        else:
            if (len(msg) != 0):
                msg.update(notify = True)
            break

    data = serializers.serialize('json', msg)
    return HttpResponse(data, mimetype="application/json")
于 2013-07-24T06:27:39.443 回答