有没有办法通过javascript在本地访问文件的修改时间(ctime或mtime应该可以工作)。
我想去file:///home/me/mtime.html并让javascript告诉我/home/me/file.txt在2分钟之前被修改了。我知道javascript由于安全问题而限制了文件访问,但是有一些技巧,因为它都是在本地完成的。
感谢。
答案 0 :(得分:1)
以下是一些使用ActiveX的javascript,我认为可能会帮助你:
<script language=jscript runat=server>
var thisfile = <File_Path>;
thisfile = Server.MapPath(thisfile);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fs = fso.GetFile(thisfile);
var dlm = fs.DateLastModified;
Response.Write("Last modified: " + dlm);
</script>
如果您需要多久以前修改它,您需要一些其他的javascript来从当前时间减去dlm。
答案 1 :(得分:1)
Firefox在其XPCOM(ActiveX竞争对手技术)下拥有一组可用于执行相同操作的组件。
可能是这样的(未经测试):
function getLastModifiedTime(filePath)
{
try
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e)
{
throw new Error("Permission to read file was denied.");
}
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath( filePath );
return file.lastModifiedTime;
}
至于Safari ....不知道。也许是一个签名的java小程序?
答案 2 :(得分:0)
可能通过ActiveX或其他一些浏览器组件,允许用户向浏览器授予扩展权限,例如HTA或Google Gears等。
换句话说,“不”,除非你愿意做一些非标准的事情。
答案 3 :(得分:0)
很抱歉,但使用JavaScript无法实现。