2014-08-29 110 views
3

我看过这样的代码,想知道那个花括号是什么,它是否是某种观点传递?js文件引用结尾的花括号是什么意思?

<script type="text/javascript" src="some_script.js?{0}"></script> 
+1

它只是一个http url查询参数。您必须查看脚本本身以查看正在使用的参数(如果有的话) – 2014-08-29 14:42:41

+2

您是否可能使用模板引擎?它看起来像一个模板引擎可能使用的语法。 – 2014-08-29 14:43:49

回答

5

在URL中,问号?是查询字符串之后。这是您指定服务器参数的位置。

在这种情况下,由于那些括号没有编码(如%7B0%7D),我怀疑你实际上在模板引擎中看到了这一点,而{0}是一个随机数。这通常用于避免缓存文件,因为使用随机数字,您每次都有一个新的URL。我不知道你在使用什么样的模板引擎......有几个使用这种符号。

+0

well url也有?token = xxx 那么,令牌作为0th参与者被缓存? – Sarge 2014-08-29 14:45:28

+1

@SercanAltundaş不,每个URL都有自己的缓存指令。对于您不想缓存的静态文件,无法控制服务器响应缓存标头,这只是在URL中使用随机变量的常用技术。 'some-static-file.js?0213423423'这样,如果服务器说无限期地缓存该文件,那么将无关紧要,因为在下一次加载时,URL将是'some-static-file.js?88888889'。 – Brad 2014-08-29 14:50:27

+0

非常感谢,简单地说它是一种避免静态文件被缓存的方法。 – Sarge 2014-08-29 14:55:16

2

它看起来像一种避免被浏览器缓存的方法。有些人不喜欢这样写道:

<script type="text/javascript" src="some_script.js?timestamp=1235124321"></script> 
2

没有特殊的意义,它只是URL的一部分(因为它是一个?这是查询字符串的一部分之后)。

某些代码(可能是服务器或客户端)可能会对它做些什么,但这是特定于网站的。

它可能会以编程方式更新以充当缓存清除功能(更改数字会更改URL,因此脚本将作为新URL加载,而不是缓存版本及其中可能存在过时的脚本)。

相关问题