javascript - JQuery 如何知道何时收到新消息?

标签 javascript jquery jsp spring-mvc

我在消息页面中使用以下 JavaScript,是否可以在收到新消息时播放声音?请注意,我不想为每个请求播放声音,而只想在页面中添加新消息时播放声音。

function homeAjax() {
  $.ajax({
    url : 'subHome',
    success : function(data) {
      $('#result').html(data);
    }
  });      
}

var intervalId = 0;
intervalId = setInterval(homeAjax, 3000);

我的 MVC Controller (subHome) 使用 ModelAndView 返回所有消息。

最佳答案

也许会有帮助。

<script type="text/javascript">
  var datLength = 0;
  function homeAjax() {
    $.ajax({
        url : '/data',
        contentType : "application/json",
        dataType : 'json',
        success : function(data) {

           if(data.length > datLength){
               console.log(data.length);
               datLength = data.length;
               /*jquery audio play*/
           }else{
               console.log("no play");
           }
        }
    });

    } 
 </script>

显示控制台

enter image description here

关于javascript - JQuery 如何知道何时收到新消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34272880/

相关文章:

jquery - 当内容动态更改时无法将样式应用于 ListView

java - JdbcTemplate - 没有可用类型的合格 bean

javascript - 加载时显示输入文件对话框?

javascript - 使用 javascript 在其父级附近弹出显示

javascript - 为什么 `async` 不是保留字?

javascript - 按钮在按下时更改名称

jquery - 如何将 jquery 对象传递给函数?

java - 只有在 jsp 中启用时才重定向到 SSL

java - JSP:如何检查用户是否登录?

javascript - 使用javascript重命名输入中的文本(每点更改空间)