2011-04-28 52 views
0

我已經創建了生成一個頁面的新版本的每一個用戶進行編輯時間的位點(例如:?site.php /版本= 1,site.php /版本= 2,等等) 。此版本號和編輯存儲在數據庫中。負載連續頁自動

我願讓這個加載站點索引觸發的頁面版本以連續順序加載每個允許在同一窗口內比如5秒(VERSION1然後再版本2版本3,等等)。

有沒有去做到這一點或類似的東西使用jQuery(或別的東西)?我想我可以以某種方式將數據庫版本號作爲變量傳遞給頁面加載函數,但我不知道如何。

任何意見將不勝感激。謝謝!

回答

0

如果你只是想每5秒鐘重新加載一次site.php併爲'版本'的url加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版本= 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); 
} 

應該訣竅

+0

這正是我一直在尋找的!謝謝。第一個功能是完美的,因爲我只想顯示現有的編輯。是否可以在特定範圍內啓動和停止重新加載? (例如,開始於第10版,並轉到20版?) – NokoB 2011-04-28 14:11:02

+0

是啊,見上面的編輯 – Jamie 2011-04-28 16:39:51