【问题标题】:How get lastModified Property of file add in head?如何在头中获取文件的lastModified属性?
【发布时间】:2018-02-21 15:24:30
【问题描述】:

我有一个 JS 文件添加到 head 并希望获得 lastModified 属性。我试过了,但没有用:

<head>
  <script src="http://www.website.fake/code/quakes48h.js" type="text/javascript" id="utlime48ore"></script>
</head>
var last_mod48 = document.getElementById("ultime48ore").src.lastModified;
alert(last_mod48);

这会返回错误is null。我希望你能帮助我。

【问题讨论】:

  • 你无法获得这样的文件的最后修改日期。
  • @RoryMcCrossan 还有其他方法吗?
  • 如果您尝试获取文件上次保存在服务器上的日期,那么不。您无法从公开请求中获取该信息
  • 我怎么知道这个文件是否更新了?你有什么建议?
  • @Borja 这听起来像XY problem为什么您需要知道文件的最后修改时间?你想解决什么问题?

标签: javascript jquery last-modified


【解决方案1】:

请阅读lastModified 属性的文档MDNW3Schools

来自 W3Schools:

lastModified 属性返回当前的日期和时间 文档最后一次修改。

来自 MDN:

返回一个包含当前日期和时间的字符串 文档最后一次修改。

您试图通过此属性实现的目的并不是它的本意。返回 null 是正常的,因为您正在尝试检查不会设置它的非 HTML DOM document 对象的 lastModified。

如果目的是获取文件的最后修改日期,我认为最好在服务器端完成。

-- 基于 OP 提及 PHP 进行编辑--

如果您使用 PHP 并希望获取服务器本地文件的最后修改时间,您可以使用 php filemtime($filename) Filesystem 函数。文档可以在here 找到

上面引用的文档中的示例:

<?php
// outputs e.g.  somefile.txt was last modified: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
    echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>

【讨论】:

  • 我有一个 php 文件,每 2 分钟创建这些 js 文件并删除以前的版本。我在浏览器上使用这个 js 文件,我只想在更新版本时解析这个 js 文件。但我必须了解是否真的更新......但如果我不能使用 lastModified 你知道还有其他方法吗?
  • 通过服务器端?如何 ?用 php 吗?你能给我一些建议吗
  • file_exists 在这里不起作用,因为文件是远程的,不是服务器本地的
  • @RoryMcCrossan 我明白了...... OP 的问题:文件是位于远程还是始终在服务器本身上更新?
  • 更新了答案!。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-26
  • 2022-10-17
  • 2019-07-05
  • 1970-01-01
  • 2011-12-13
  • 1970-01-01
  • 2011-09-24
相关资源
最近更新 更多