Php 如果HTML文件已更新,则执行JavaScript

Php 如果HTML文件已更新,则执行JavaScript,php,javascript,jquery,refresh,Php,Javascript,Jquery,Refresh,我试图在JavaScript、jQuery甚至PHP中找到一个插件或函数,如果有必要,每10秒检查一次页面文件是否已更新,如果页面已更新,则提醒用户 提前感谢: 对不起,如果我不够清楚的话。如果您有任何问题,请发表评论 编辑:换句话说,使用客户端或服务器端脚本,向服务器发送AJAX请求,并确定用户打开的当前页面是否已在服务器上被修改,并显示警报。您可以每10秒向服务器发送http HEAD请求。这将使服务器只发送标题而不是内容。然后,您可以检查“上次修改”响应标题 jQuery函数$.ajax;

我试图在JavaScript、jQuery甚至PHP中找到一个插件或函数,如果有必要,每10秒检查一次页面文件是否已更新,如果页面已更新,则提醒用户

提前感谢: 对不起,如果我不够清楚的话。如果您有任何问题,请发表评论


编辑:换句话说,使用客户端或服务器端脚本,向服务器发送AJAX请求,并确定用户打开的当前页面是否已在服务器上被修改,并显示警报。

您可以每10秒向服务器发送http HEAD请求。这将使服务器只发送标题而不是内容。然后,您可以检查“上次修改”响应标题

jQuery函数$.ajax;支持与此非常类似的功能。但是,jQquery并没有检查上次修改的http头,而是使用http If MODIFED FIRSE头向服务器发送请求。然后检查服务器是否响应响应代码304未修改

这是一个简短的HTML+Javascript示例,描述了jQuery功能:

<html>
  <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">
      var checkUrl="test.txt";
      var firstCheck = false;
      window.setInterval(checkForUpdate, 1000);

      function checkForUpdate() {
          $.ajax(checkUrl, {
              ifModified : true,
              type : 'HEAD', 

              success : function (response) {
                  if(firstCheck === false) {
                      firstCheck = true;
                      return;
                  }
                  $('#output').html('the site has been modified');
              }
          }); 
      }    
   </script> 
  </head>
  <body>
    <div id="output">Not Modified</div>
  </body>
</html>

您可以每10秒向服务器发送一个http头请求。这将使服务器只发送标题而不是内容。然后,您可以检查“上次修改”响应标题

jQuery函数$.ajax;支持与此非常类似的功能。但是,jQquery并没有检查上次修改的http头,而是使用http If MODIFED FIRSE头向服务器发送请求。然后检查服务器是否响应响应代码304未修改

这是一个简短的HTML+Javascript示例,描述了jQuery功能:

<html>
  <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script type="text/javascript">
      var checkUrl="test.txt";
      var firstCheck = false;
      window.setInterval(checkForUpdate, 1000);

      function checkForUpdate() {
          $.ajax(checkUrl, {
              ifModified : true,
              type : 'HEAD', 

              success : function (response) {
                  if(firstCheck === false) {
                      firstCheck = true;
                      return;
                  }
                  $('#output').html('the site has been modified');
              }
          }); 
      }    
   </script> 
  </head>
  <body>
    <div id="output">Not Modified</div>
  </body>
</html>

你应该分享更多关于你在什么情况下尝试做什么的信息。这是干什么用的,你控制正在更新的页面吗?等等@Pekka刚刚更新了一个问题。信息还不够。您到底想做什么?您是否控制正在更新的页面?DB更新是否提供了页面的潜在更改?@Pekka每10秒发送一次AJAX请求,以确定用户打开页面后page.html是否已被修改/更新。例如,如果我在4:00加载page.html并在4:01编辑它,则会向用户显示一条消息,说明该页面已更新。您应该共享有关在什么情况下尝试执行的操作的更多信息。这是干什么用的,你控制正在更新的页面吗?等等@Pekka刚刚更新了一个问题。信息还不够。您到底想做什么?您是否控制正在更新的页面?DB更新是否提供了页面的潜在更改?@Pekka每10秒发送一次AJAX请求,以确定用户打开页面后page.html是否已被修改/更新。例如,如果我在4:00加载page.html并在4:01编辑它,将向用户显示一条消息,说明页面已更新。我不擅长JavaScript或PHP。你能提供一个例子或代码片段来说明如何做到这一点吗?这个脚本看起来很棒,我今晚晚些时候会尝试它,但是我注意到在你的描述中提到了page.php,但在你的脚本checkUrl test.html/txt中。我不擅长JavaScript或php。你能提供一个例子或代码片段来说明这将如何完成吗?这个脚本看起来很棒,我今晚稍后会尝试它,但是我注意到在你的描述中提到了page.php,但在你的脚本checkUrl-test.html/txt中。