我创建了一个简单的聊天系统。我一直在尝试,但我无法弄清楚如何限制页面上的AJAX请求。在控制台中,我收到错误net::ERR_NETWORK_CHANGED
,偶尔收到limit
。我知道你可以使用var form = document.querySelector('form[name="chatbox"]');
form.addEventListener("submit", function (event) {
event.preventDefault();
});
function submitChat() {
if (chatbox.message.value == '') {
alert('Error: Missing Fields.');
return;
}
var message = chatbox.message.value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 100) {
document.getElementById('chatlog').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open('GET', 'chat.php?message=' + message, true);
xmlhttp.send();
chatbox.reset();
}
//AJAX STARTS HERE
$(document).ready(function (e) {
debugger;
setInterval(function() {$.ajax('logs.php', {
ifModified: true,
complete: function (jqxhrResponse) {
$('#chatlog').html(jqxhrResponse.responseText);
//SCROLL MESSAGE STARTS HERE
function scrollToNewMessage() {
if (allowScroll) {
$("#chatlog").animate({ scrollTop: $('#chatlog').prop("scrollHeight")}, 1000);
}
}
}
})});
});
var allowScroll = true;
$('#chatlog').scroll(function () {
allowScroll = isNearBottom();
});
function isNearBottom() {
var leeway = 10;
$(window).scroll(function () {
return $(window).scrollTop() + $(window).height() > $(document).height() - leeway;
});
}
,但我似乎无法正确使用它。有人可以帮助我吗?
scrollToNewMessage()
奖励:有人可以帮助我使用{{1}}功能吗?它不起作用(不向下滚动到新消息)。
谢谢!