我遇到这种情况,设备使用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();
?>
答案 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中进行比较?或者只是逐个字母地比较它。现在写代码太累了。