2014-09-03 84 views
1

我們正在開發一個第三方java腳本文件,這個文件是作爲一個小部件在很多網站上實現的(也就是我們不控制代碼的)。控制第三方重裝javascript

這個腳本可能會不時更新時間(我們修改/添加能力/修復的bug ......)

當瀏覽器保存在緩存中最js文件,我們需要有某種形式的解決方案告訴瀏覽器重新加載腳本。當然,一個天真的解決方案是總是重新加載,但這種解決方案效率不高,代碼更改不應該經常累積。

任何想法如何做到這一點? 因爲這個小部件是第三方,所以我們不能在這裏應用「?version = 1.1.1」來更改我們腳本src/url的解決方案,我們沒有任何客戶網站代碼的控制權。

謝謝。

+0

你有沒有想過手動DOM操作,如在document.write? – Coldstar 2014-09-03 16:47:27

+0

在將文本字符串寫入文檔後,他必須完全重新加載js,然後將整個腳本加載2次,這會使性能下降。 – Dan 2014-09-03 16:55:50

+0

我想過 - 總是加載腳本A-這是非常小的尺寸,並在它內部加載與當前版本的主腳本,然後瀏覽器始終加載腳本A,並只加載我的主腳本,如果版本不同,你是什麼認爲? – briler 2014-09-04 05:39:43

回答

1

既然你是第三方,並給你的客戶鏈接到他們需要包括JavaScript文件,讓他們指向你的JavaScript與這樣的網址:

http://example.com/file.js 

然後在使用重定向你的服務器(Url Rewrite/htaccess等)將它們指向該文件的最新版本。假設你通過將腳本放到一個文件夾中對版本進行了版本管理,並且你的最新版本是1.3。您將設置從http://example.com/file.jshttp://example.com/1.3/file.js的重定向。然後,每當您發佈新版本時,請將您的重定向更新爲指向新文件夾。

編輯:更詳細的解釋

+0

我很抱歉,我不低調你的迴應,也不是這個例子。 – briler 2014-09-04 05:52:59