我对这个跨域感兴趣。
我想知道如何在下载并使用
执行后获取源代码<script src = "libary_i_want_to_cache">
脚本标记,并将此源放入localStorage。
localStorage.script_source = the_source;
我知道浏览器之类的所有其他缓存机制,但我想在这种特殊情况下将我的脚本存储在localStorage中。
我可以使用脚本标记参数吗?
我查了MDN但没找到。使用cors是否相关?
谢谢,
答案 0 :(得分:1)
通常情况下,如果服务器提供了正确的缓存标头,浏览器会为您进行缓存。
另外,在这种情况下,你称之为app cache更合适。
答案 1 :(得分:1)
如果没有ajax,我不知道有什么方法可以做到这一点。脚本标记本身不提供对其下载的脚本源的访问。
如果您的脚本来自与您的网页相同的域,并且您愿意使用ajax,那么您可以使用ajax来检索脚本的文本,然后您可以将该文本存储在本地存储中。
要从本地存储加载脚本,您需要将本地存储中的脚本读入字符串变量,然后使用eval()
来解析/执行它。
所有这些说明,除非你帮助我们理解为什么它们不适合你,否则浏览器的内置缓存机制似乎更合适。
答案 2 :(得分:0)
是的,您可以使用localStorage存储javascript。设置innerHTML将执行脚本内容,但更好的方法是使用window.URL.createObjectURL设置为src。