我创建了一个网站,每次用户进行编辑时都会生成一个新版本的页面(例如:site.php /?version = 1,site.php /?version = 2等)。此版本号和编辑内容存储在数据库中。
我想这样做,以便加载站点索引触发页面版本以连续顺序加载每个让我们说5秒(版本1然后版本2然后版本3等)在同一窗口中。
是否可以使用jQuery(或其他东西)来做这个或类似的东西?我想我可以以某种方式将数据库版本号作为变量传递给页面加载函数,但我不确定如何。
任何建议都将不胜感激。谢谢!
答案 0 :(得分:0)
如果您只想每隔5秒重新加载一次site.php,并为“版本”的网址添加1,您可以使用以下javascript(假设用户的编辑保存为同步):
function getVar(name){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ){
return "";
}else {
return results[1];
}
}
var version = getVar('vesion');
version = Number(version) + 1;
window.setTimeout('window.location="http://test.com/site.php?version=' + version +'";' ,5000);
您可能希望每隔5秒检查一次版本是否存在。您需要从site.php查询数据库以获取当前数据库版本号并使用:
<?php
//query your database
?>
window.setTimeout('window.location="http://test.com/site.php?version=<?php echo $row['db_version_number']; ?>";' ,5000);
这将重新加载数据库并使用db_version_number数据单元格中的任何版本每5秒刷新一次页面
###编辑回答第二个问题从10点开始在20点停止: 窗口的初始URL是site.php?version = 10
然后:
function getVar(name){
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ){
return "";
}else {
return results[1];
}
}
var version = getVar('vesion');
version = Number(version) + 1;
if (version < 20){
window.setTimeout('window.location="http://test.com/site.php?version=' + version +'";' ,5000);
}
应该做的伎俩