簡體   English   中英

頁面上的內容消失

[英]Content on page disappears

我有一個簡單的代碼腳本,它讀取一個PHP文件,當它被更改時,它應該在頁面上顯示CHANGED,我將更改為刷新頁面或更改內容。 現在,它顯示內容,函數重復一次或兩次,然后它只顯示任何內容。 有幫助嗎?

這是代碼:

<?php
$handle = fopen("../chat/real/chatserver.php", "r");
$contents = fread($handle, filesize("../chat/real/chatserver.php"));
fclose($handle);
$newcontents = $contents;
echo $contents;
?>

<script type="text/javascript">
checkchanged();
function checkchanged() {
document.write("<?php $handle = fopen('../chat/real/chatserver.php', 'r');
$newcontents = fread($handle,filesize('../chat/real/chatserver.php'));fclose($handle);?>");
document.write("<?php if(!($contents==$newcontents)){echo 'Changed';} ?>");
setTimeout('checkchanged()',3000);
}
</script>

鏈接到示例

謝謝您的幫助

這是因為您不能在JavaScript中包含PHP以便客戶端執行它。 是的,你可以包含PHP值,但就是這樣。 查看瀏覽器中的源代碼:

<script type="text/javascript">
checkchanged();
function checkchanged() {
document.write("");
document.write("");
setTimeout('checkchanged()',3000);
}
</script>

如您所見,函數document.write被調用一個空字符串"" 這是因為<?php ?>都會在生成的頁面發送到客戶端之前在服務器上執行,而不是在客戶端上執行。

由於每個PHP代碼只解析一次$contents==$newcontents將為true ,因此您永遠不會看到Changed

要實現類似聊天服務器的功能,您需要新的http請求。 看看AJAX。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM