javascript - 刷新 div 而不删除文本选择

标签 javascript jquery chat

我构建了一个每 3 秒重新加载一次的简单聊天。

聊天的实际重新加载是通过这个脚本完成的(从Google复制的,我之前只做过PHP,CSS和html):

$(document).ready(function() {
    $("#chat").load("system/chat.oclog"); // Loads chat upon page load
    var refreshId = setInterval(function() {
      $("#chat").load("system/chat.oclog");
    }, 3000);                            
    $.ajaxSetup({ cache: false });
});

现在解决问题了。如果您要选择 chat-div 内的任何文本,则当聊天重新加载时,选择会消失,因为 div 正在刷新。这使得复制文本变得非常痛苦。

非常感谢对此问题的任何建议/解决方案。我自己一直在考虑,如果聊天日志的文件大小发生了变化,也许让脚本只重新加载聊天,但我不知道如何做到这一点,谷歌也没有给我一个解决方案。

/埃里克

最佳答案

解决方案:-

首先创建 2 个 Div,1 个用于加载内容,它将被 css 隐藏(显示:无),然后创建另一个对用户可见的 Div,

<div id="hidden_content" style="display : none;">  </div>
<div id="chat">  </div>   

你的内容将被加载到hidden_​​content中,然后添加另一个函数,每次在隐藏元素中加载内容时都会调用该函数,然后你可以检查hidden_​​content的div的字符串长度是否等于聊天div的内容,如果它是相等的,所以不需要在 chat div 中复制这些数据,如果不是,那么您可以使用 substr 来找出在hidden_​​content中添加了哪些新的更多字符,然后一旦您找到了之前不在聊天中的那些更多字符,“追加”他们聊天内容!

因此,只有新的字符才会附加到该聊天中,因此您可以选择并且它不会再次重新加载:),如果加载的内容像这样增加,则此解决方案将起作用:-

以前的内容+新内容

服务器上的意思是,如果文件上有一条消息,然后添加了另一条消息,则必须将另一条消息应用到旧消息上,

这根本不是一个好的解决方案,您的浏览器将始终下载完整的数据,这不是一个好的解决方案! ,抱歉英语不好:)

关于javascript - 刷新 div 而不删除文本选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27772753/

相关文章:

java - Mozilla Rhino NativeArray.add() 抛出错误 - 总是

javascript - 自定义输入类型=文件行为

javascript - AJAX 以错误的顺序返回

python - 为什么 django 模型中的同一模型不能使用 2 个单独的外键

php - 创建用户聊天系统 -(PHP、MySQL、AJAX?)

javascript - 自定义单选按钮

javascript - 使用 jquery 的问答游戏

javascript - jquery选择器按宽度

php - 错误 : jQuery1830649454693285679_1359620502896 was not called JSON

php - 使用 PHP 将文本添加到图像(gif 动画)