2014-08-29 42 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加載,而不是緩存版本及其中可能存在過時的腳本)。

相關問題