在JavaScript中获取上次修改时间?

时间:2017-05-23 15:06:35

标签: javascript performance file time timestamp

我使用以下代码在JavaScript中动态添加脚本:

{{ items_tree | html }}

追加function loadJS(file, c, preventCache) { var jsEl = document.createElement("script"); if (typeof preventCache === 'undefined' || !preventCache) jsEl.src = file; else jsEl.src = file + "?" + Math.floor((Math.random() * 10000)); if (c) { jsEl.addEventListener('load', function (e) { c(null, e); }, false); } document.getElementsByTagName("head")[0].appendChild(jsEl); } 完全禁用缓存。我想要做的是添加文件的最后修改时间的时间戳。然后可以缓存该文件,但只有在它是最新的时候。如何有效地获取文件的上次修改时间?

2 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的: Is it possible with javascript to find file's last modified time?

但是有一种比随机数更有效的方法。你可以使用像WordPress那样的版本号,或者使用不那么经常变化的东西(每小时等)。

答案 1 :(得分:0)

包含loadJS的文件已包含在PHP中生成的时间戳。我决定在该文件中包含一个变量,其中包含上次修改任何脚本的时间。考虑到我的网站中修改了JavaScript文件,我可以在PHP中自动执行所有这些操作。为此,我将使用file_get_contents,修改带有时间戳的行,然后file_put_contents。这可能看起来非常低效,但考虑到,只有我能够修改JavaScript文件,我的客户都不会,但我想这就足够了。