您應該設置AJAX數據檢索塔斯(循環腳本) 如果發現Ajax腳本存在您的命令重新加載,請執行此任務。
例如:從reload.txt
做GET價值沒有得到的數據是0,你的行動使TXT爲1
如果AJAX腳本發現它是1,不要通過腳本重裝。
1 - 在你的page.php旁邊創建reload.txt,並在txt中只寫0。 在你的PHP文件中寫這個劇本的html部分內 -
<script>
function load(){
$.ajax({
url : "reload.txt",
dataType: "text",
success : function (data) {
if (data == 0) {
$(".text").html(data); // to check number and not necessary for your function
}
else{
window.top.location = "/";
<?php $file = fopen("reload.txt","w");
fwrite($file,"0");
fclose($file); ?>
}
}
});
}
load(); // This will run on page load
setInterval(function(){
load() // this will run after every 5 seconds
}, 5000);
</script>
<div class="text">will appear here</div> // to check number and not necessary for your function
有關完整的功能,你需要將其設置在0頁面重新加載。
最後添加函數,將txt值更改爲1,然後在您的服務器重新加載按鈕中進行測試。 PS:你應該創新你的功能,而不是0/1方法。就像增量或其他東西一樣,並將其存儲在$ _SESSION中以便爲所有客戶端工作。
這比這更復雜一點。服務器必須將命令推送到所有設備才能重新加載頁面。這通常使用websockets完成。 –
您必須使用websockets或sse(Server-Sent Events)將命令推送到您網站中的所有用戶 – mohade
websockets最適合實時數據,但如果因任何原因無法使用websockets,那麼我想您可以使用ajax來調用服務器 - 檢查是否有更新,但這意味着您必須記錄下爲客戶端加載的最後一件事情,以便與現有/新內容進行比較。這也不是即時更新,這將使用間隔來完成,並且會產生許多無用的調用,所以如果堅持實時數據,websocket將非常有益。另外我會重新加載整個頁面,我只會顯示新的數據。 – NewToJS