2014-02-28 25 views
1

通常,當我更新的JavaScript或網頁使用的CSS文件,我將釘在v=<version>。這有助於我跟蹤我所做的更改,但也會強制瀏覽器獲取最新版本而不是使用緩存。例如:從src屬性在JavaScript中獲取查詢數據

<script src="functions.js?v=1.4"></script> 

使用JavaScript來檢測使用的查詢參數是可能的嗎?這意味着,可以function.js檢測v1.4

+0

那麼你可以出去解析版在href –

+0

的這是在本頁面http://stackoverflow.com/questions/7992354/can-you-pass-url-parameters-to-a-javascript-file 看的副本才能得到答案。 –

+0

這是重複的問題:http://stackoverflow.com/questions/2976651/javascript-how-do-i-get-the-url-of-script-being-called – EAndreyF

回答

1

有沒有這種特定的方法,但你可以檢查DOM和往常一樣:

var script = document.querySelector('script[src~="function.js"]'); 
script.src.replace(/.+?v=/, ''); // that's your version 
+0

然後你需要應用一些幫助來獲得你想要的查詢參數值 – dentuzhik

+0

認爲這可以被批准爲正確的。還應該測試它是否可以從同一個腳本完成。我認爲你需要一個單獨的。 – dentuzhik

+0

'document.querySelector( '腳本[SRC〜= 「function.js」]')'似乎返回null對我來說,雖然暫時,我能遍歷'document.querySelectorAll( '腳本') '手動查找我的文件 – steveo225

0
<script id="file-js" src="functions.js?v=1.4"></script> 

代碼查找所有參數:

var url = document.getElementById('file-js').src; 
url = url.replace(/^.*?\?/, ''); 
var params = url.split('&'); 
for(var i in params) { 
    var pair = params[i].split('='); 
    console.log(pair); 
}