2013-03-14 56 views
0

在我的网站上,当我在网页上添加脚本时出现随机查询字符串出现问题。我知道这不是我,因为Pingdom & Google Pagespeed已经证实我有随机查询字符串,但问题是为什么。例如,包含脚本时出现的随机查询字符串

<script type="text/javascript" src="js/randomfile.js"></script> 

出现在浏览器,Firefox的开发者工具,以及IE作为

<script type="text/javascript" src="js/randomfile.js?_=1247543709724"></script> 

任何指针如为什么会发生? 任何帮助,将不胜感激。

+0

它似乎是一个cachebusting版本字符串。你用什么服务器端技术输出脚本标记? – Bergi 2013-03-14 17:07:06

回答

1

该数字是附加到脚本URL的某个唯一值(可能在页面加载时生成)。这可以防止脚本被缓存,因为在每个页面加载时URL都是唯一的。

我不能说在没有看到您的设置的情况下做了什么,但它很可能是您正在使用的库之一。

+0

你完全正确,并指出我正确的方向。 jQuery的是这些附加的脚本结束,下列固定它: '$ .ajaxSetup({ 缓存:真 });' 谢谢:) – 2013-03-14 17:20:09

+1

这个数字实在不像一个时间戳。 – Bergi 2013-03-14 17:26:28

+0

@Bergi,是的,再看看它太短了。好点,修改。 – Griffin 2013-03-14 17:31:28

2

如果您的源代码HTML不包含查询字符串,那么似乎会有一个服务器端优化工具重写您的src

这些查询字符串值很好的原因是缓存清除。 JavaScript文件通常很少发生变化,因此非常适合缓存。但是当你改变一个JS文件时,你想确保你的用户把新文件用在缓存中而不是文件中。因此,您将您的src值更新为新的唯一网址。浏览器将其视为一种全新的资源,并从服务器上下载它,忽略已存在于缓存中的内容。

+0

感谢您的建议 – 2013-03-14 17:18:48

相关问题