是否可以使用javascript查找文件的上次修改时间?

可能吗? 现在,我已经进行了实时聊天,在jquery的帮助下,我连接到.php文件并检查上次修改时间,如果不是以前,我检索消息。 如果有可能在javascript中我可能会节省大量资源。

谢谢。

简短的回答:除了AJAX +服务器端脚本(在你的情况下,jQuery + php)是没办法的

作为客户端脚本,javascript在客户端的计算机上运行,​​因此如果要检查其m-time的文件位于服务器上,那么使用AJAX和服务器端脚本是正确的。 没有别的办法可行。

如果您要检查其m-time的文件位于客户端的计算机上,那么您运气不好。 故意设计Javascript以防止访问客户端的文件。 (但它只能访问客户端计算机上的cookie,因为浏览器(不是任何javascript)会将这些加载到其工作环境中。)

如果服务器正在为该特定文件发送准确的Last-Modified标头,那肯定是可能的:

 var getMTime = function(url, callback) { var xhr = XMLHttpRequest(); xhr.open('HEAD', url, true); // use HEAD - we only need the headers xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var mtime = new Date(xhr.getResponseHeader('Last-Modified')); if (mtime.toString() === 'Invalid Date') { callback(); // dont want to return a bad date } else { callback(mtime); } } } xhr.send(); }; getMTime('url here', function(mtime) { if (mtime) console.log('the mtime is:' + mtime.toISOString()); }); 

也许HTTP ETag标头可用于检查页面是否已更改。 第一个响应包含ETag,您的客户端将其用于以下请求。 如果页面尚未修改,您的PHP服务器端代码将发送304。

http://en.wikipedia.org/wiki/HTTP_ETag