怎样多次访问一个后台PHP程序
作者:axgle
PHPer问题:怎样多次访问一个后台PHP程序?
我写了一个前台程序,需要多次访问一个后台PHP程序。现在是每次都打开一个页面,有没有什么方法可以不打开页面,让程序在后台执行?
具体来说就是:我现在是有个a.php页面需要多次访问b.php。
现在我是在a.php中多次window.open,window.close来做的,可是觉得这样做有点傻,hehe
有谁知道不用打开b.php页面就可以多次执行b.php页面中的函数的?甚是感谢!
Axgle回答:可以使用“图象预载”技术。
'图象预载'属于javascript的特性,即‘预先载入图像’.
“预先载入图像”将不需要立即出现在网页上的图像载入浏览器缓存中。这能够防止当图像该出现时由于下载导致的延迟。
看到这里,你也许要奇怪,我说的这些与PHP有何关系?呵呵,大有关系。
实际上在javascript中,你只要“var im=new Image();im.src="xxx.php";”就会执行xxx.php文件。
即使xxx.php不是图片!
而若要多次执行xxx.php文件,只需要setTimeout或者setInterval函数处理一下就可以了。
特别提示,若要多次调用xxx.php,应该给xxx.php加个尾巴。型如:"xxx.php?"+Math.random().
因为IE浏览器的缓存机制,所以当象上面那么做后,xxx.php的每次刷新都会被预载。否则只会
被预载一次---因为存在缓存。
function go() {
im=new Image();
im.src="timer.php?"+Math.random();
}
setInterval("go()",1000);
上面的代码表示timer.php每1秒执行一次,不但如此,经我的实际测试,在IE浏览器下,这样做绝对没有‘刷新’的感觉,连那个讨厌的漏斗标志也没有!所以属于真正的无刷新执行哦!
最后说明一点:这个问题还有其他答案,但我不想人云亦云,因为往往原创才能够让人耳目一新。
因此希望大家能够支持我,谢谢!