2012-02-24 52 views
0

我想能夠查詢添加到我的js文件,將改變的版本。使用查詢來改變我的js文件的版本

例如:

<script type="text/javascript" src="myjavascript.js?v=1.0.0"></script> 

我知道這是可能的,因爲我看到其他網站這樣做。

感謝您的幫助。

+0

究竟什麼是你的問題? – 2012-02-24 02:52:52

+0

只需創建一個腳本元素即可使用JavaScript加載庫。我從來沒有聽說過使用JavaScript首先卸載庫的頁面。也許你可以在最初的元素上調用一個jquery.remove(),但我懷疑它。我對你得到的答案感興趣! – Malk 2012-02-24 02:54:29

+0

v實際上並不像真正的查詢字符串,它用於繞過緩存的js文件。 – ocanal 2012-02-24 02:57:56

回答

0

你在做什麼最有可能看到的是服務器端語言如ASP,PHP等「一舉」,並辦理變更,然後渲染出來的內容,就好像什麼也沒有發生。基本上,如果你可以涉及到PHP:

<?php 
    $v = $_GET['v']; // yes I know--shame on me for no validation 
    header('Content-Type: text/javascript'); 

    include('js/myjavascript-'.$v.'.js'); 

另一個目的是,爲內森所提到的,爲了避免緩存問題。但是,如果你看到腳本的內容基於這個GET變量而改變,那麼它很可能是一個服務器端語言。

+0

好主意。謝謝您的幫助。 – Shawn31313 2012-03-10 20:52:46

3

的版本以這種方式JS文件只不過是一個技術迫使特定的緩存資源的刷新在用戶的機器上了。當您將追加一個獨特的查詢字符串的URL,它告訴瀏覽器,它不應該使用的特定URL的緩存版本,它迫使瀏覽器重新下載該文件。

利用這個功能是作爲附加唯一值到JS文件的URL查詢字符串一樣簡單。

+0

但是我怎麼才能真正改變它。我沒有得到這個。 – Shawn31313 2012-02-24 02:58:35

+0

@Shawn31313你改變它在你的HTML或追加JavaScript包括像這裏顯示:http://stackoverflow.com/a/950146/79835 – row1 2012-02-24 03:04:53

+0

@ Shawn31313這裏需要注意的重要一點是,當你的文件本身不會改變附加查詢字符串,而是更新該文件的瀏覽器緩存。附加到查詢字符串的值可以是任何東西,可以來自任何地方。在我的公司,我們有一個唯一的內部版本號,我們在查詢字符串中追加了一些我們的靜態文件。 – 2012-02-24 03:14:37

相關問題