2014-09-03 54 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