Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何缓存javascript文件_Javascript_Browser Cache - Fatal编程技术网

如何缓存javascript文件

如何缓存javascript文件,javascript,browser-cache,Javascript,Browser Cache,你好,我正在尝试做一个浏览器缓存实验。 像这样 <head> <script type="text/javascript" src='<%=Tool.GetFileRefUrl("js_cached.js")%>' ></script> <script type="text/javascript"> var lastFile = fun(); </script> <scr

你好,我正在尝试做一个浏览器缓存实验。 像这样

<head>
    <script type="text/javascript" src='<%=Tool.GetFileRefUrl("js_cached.js")%>' ></script>
    <script type="text/javascript">
        var lastFile = fun();
    </script>
    <script src="js_cached.js" type="text/javascript"></script>
    <script type="text/javascript">
        var cacheFile = fun();
    </script>
</head><body>
<form>
<div>

    The cache file is :<script type="text/javascript">
                           document.writeln(cacheFile);
                    </script>
    <br />
    The last file is :<script type="text/javascript">
                          document.writeln(lastFile);
                    </script>    
</div>
</form>
</body>
Tool.GetFileRefUrl是

public class Tool
{
    public static string GetFileRefUrl(string url)
    {
        var ticks = GetLastWriteTime(url);
        var result = string.Format("{0}?v={1}", url, ticks);
        return result;
    }

    private static long GetLastWriteTime(string fileName)
    {
        var lastWriteTime = File.GetLastWriteTime(HttpContext.Current.Server.MapPath(fileName));
        return lastWriteTime.Ticks;
    }
}

最后,我找到了一种缓存js文件的方法 是否将页面添加到浏览器选项卡标记链接?嗯,我不确定它在英语中是什么,就像我最喜欢的IE一样 打开链接,您将看到

The cache file is :A
The last file is :A
修改js文件,并通过标记链接打开新选项卡

The cache file is :A
The last file is :B

Tks Bergi提示:

您需要在问题中包含fun函数,因为这就是您的问题所在……您的服务器如何处理v参数?请发布整个服务器响应,包括缓存头和内容。另外,您是如何重新加载页面的?我在问题中添加了fun和Tool.GetFileRefUrljs_cached.js。我通过按F5或复制url打开新的浏览器选项卡来重新加载页面。待答复
The cache file is :A
The last file is :B