서버의 페이지 파일을 수정하면 javascript가 페이지를 새로 고치기를 원합니다.파일을 새로 고침 할 때 페이지 새로 고침
나는 api.php (아래 참조)를 사용하여 파일의 파일 수정 시간을 가져 와서 json으로 반환합니다.
그래서 api.php에서 데이터를 가져 오는 것은 아무런 문제가되지 않지만 이전 값을 자바 스크립트의 새 값과 어떻게 비교하고 페이지가 새로 고쳐 지는지 어떻게 알 수 있습니까? 여기
내가 지금까지 무엇을했는지 있습니다 :var oldVar = 0;
setInterval(function(){
$.getJSON('api.php', function(data) {
console.log(data);
var obj = data;
var filedate = obj.filedate;
if (oldVar != filedate) {
location.reload();
};
var oldVar = filedate;
});
}, 1000); // 1 second
은 분명히이 페이지 새로 고침 매초마다 수 있지만 진행 방법 아무 생각이 없습니다.
여기는 데이터를 가져 오는 데 사용하는 PHP 코드입니다. filemtime을 사용하여 서버의 파일 수정 시간을 확인합니다. 당신은 단지 시간의 초 부분을 반환 date("s", ...)
사용하고
<?php
$filename = "test.php";
if (file_exists($filename)) {
$dateFile = date("s", filemtime($filename));
$dateOfFile = array('filedate' => "$dateFile");
echo json_encode($dateOfFile);
}
?>
나는 계산을하고 클라이언트 측이 아닌 PHP에서 리디렉션을 처리하는 것이 좋습니다 – RamRaider
oldVar이 allways 0이고 oldVar에 대한 새 값이 아닌 문제가 있습니까? – Hokusai
@hokusai 답장을 보내 주셔서 감사합니다. 문제가되지 않습니다. 원하는 것은 페이지에 수정이 가해 졌을 때 페이지를 새로 고치는 자바 스크립트입니다. 새로 고침 api.php는 test.php를 변경할 때마다 변경되는 json 값을 반환합니다. 자바 스크립트가 매초이 페이지를 확인하고 싶습니다. 변경 사항이 표시되면 새로 고침을 트리거하려고합니다. – Niels