当其他文件的内容发生变化时,如何刷新HTML文件?

时间:2013-05-21 07:36:31

标签: php javascript html mysql

我遇到这种情况,设备使用PHP访问一个简单的MySQL数据库。 当我进行搜索时,结果将写在HTML文件中。

我有第二个打开此HTML文件的设备(非常基本的Android平板电脑)。使用live.js,它会在内容发生变化时刷新。我需要的是:一条静态信息,上面写着“等待搜索结果”,只有在页面内容改变结果时才显示......

这样的事情:在平板电脑上加载1.html(等待搜索结果)。当页面2.html的内容改变(有搜索查询)时,显示(2.html)。按下一个按钮(用户输入)后,让我们回到1.html并等待第2.html页的内容再次更改。

单独使用live.js我只能查看当前打开的文件...

有关如何实现这一目标的任何想法? 非常感谢。

[编辑已解决] 我这样做是这样的: 当平板电脑的用户按下按钮时,它会运行一个PHP脚本,用“等待结果”文本替换文件内容(以前的搜索结果)。当然,它的头部有live.js,当发生新的搜索时,页面会重新加载新的搜索结果。

这比我想象的更容易过度思考。

PHP脚本:

<?php
ob_start();

$myFile = 'ana.html';
unlink($myFile);
$fh = fopen($myFile, 'w') or die ("can't open file");

$stringData = 
'<html>
  <head>
  <title>Rezultatele cautarii</title>
   <link rel="stylesheet" href="style.css">
   <script src="live.js"></script>
  </head>
  <body>
   <h1 class="button">Asteptam cererea</h1>
  </body>
 </html>';

fwrite($fh, $stringData);
fclose($fh);

header('Location: '.$myFile);

die();
?>

2 个答案:

答案 0 :(得分:0)

你的意思是这样吗?

document.write('<div id="loading"><br><br>Please wait...</div>');


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(function() {
  document.getElementById("loading").style.display="none";
});

答案 1 :(得分:-1)

我想你可以在JavaScript中运行一个setInterval(),然后获取前一个时间间隔的页面内容,并使用校验和在PHP中进行比较?或者只是逐个字母地比较它。现在写代码太累了。