是否可以在localStorage中缓存外部库?

时间:2013-02-13 15:18:05

标签: javascript local-storage

我对这个跨域感兴趣。

我想知道如何在下载并使用

执行后获取源代码
<script src = "libary_i_want_to_cache">

脚本标记,并将此源放入localStorage。

localStorage.script_source = the_source;

我知道浏览器之类的所有其他缓存机制,但我想在这种特殊情况下将我的脚本存储在localStorage中。

我可以使用脚本标记参数吗?

我查了MDN但没找到。使用cors是否相关?

谢谢,

3 个答案:

答案 0 :(得分:1)

通常情况下,如果服务器提供了正确的缓存标头,浏览器会为您进行缓存。

另外,在这种情况下,你称之为app cache更合适。

答案 1 :(得分:1)

如果没有ajax,我不知道有什么方法可以做到这一点。脚本标记本身不提供对其下载的脚本源的访问。

如果您的脚本来自与您的网页相同的域,并且您愿意使用ajax,那么您可以使用ajax来检索脚本的文本,然后您可以将该文本存储在本地存储中。

要从本地存储加载脚本,您需要将本地存储中的脚本读入字符串变量,然后使用eval()来解析/执行它。

所有这些说明,除非你帮助我们理解为什么它们不适合你,否则浏览器的内置缓存机制似乎更合适。

答案 2 :(得分:0)

是的,您可以使用localStorage存储javascript。设置innerHTML将执行脚本内容,但更好的方法是使用window.URL.createObjectURL设置为src。