【发布时间】:2015-07-11 22:51:36
【问题描述】:
我一直在尝试使用 localstorage 来存储 Jquery-min,但我无法做到。我已经尝试了一些 Jquery 插件,但它们也不起作用。
为我的 Web 应用程序加载一次 Jquery 并且再也不用担心它似乎是一个好主意。我正在创建的应用程序每天都有人访问。我认为他们不需要多次下载 JS 文件或 CSS 文件。
我可以将所有 CSS 存储在本地存储中,但不能存储 Jquery 或 Jquery UI。
无论如何,我知道人们会尝试说服我使用缓存清单......等等。但我正在寻找一种将 Jquery 库存储在本地存储中的方法。 (这就是目标)。
有什么想法吗?
编辑: 每个人都在要求一个代码示例。所以在这里....这很简单,我只使用了少量的 Jquery 缩小版本来保持帖子的小:
localStorage.setItem("name", "(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f('<'+a+'>').appendTo('body'),d=b.css('display');b.remove();if(d==='none'||d===''){ck||(ck=c.createElement('iframe'),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write('<!doctype><html><body></body>");
查看时保存的内容:
(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f('<'+a+'>').appendTo('body'),d=b.css('display');b.remove();if(d==='none'||d===''){ck||(ck=c.createElement('iframe'),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write('
它不会保存所有内容。我可以使用 parsefloat() 什么的吗?如果可行,我该怎么做?
我喜欢本地存储的原因是我可以轻松控制它。而且我不必担心用户清空缓存。如果我需要更新本地存储,我可以用一行代码来完成。它几乎充当了我的 Web 应用程序的更新功能。如果我遗漏了什么或者是否有更简单的方法,请告诉我。示例代码即将推出
【问题讨论】:
-
您是否遇到特定错误?告诉我们更多关于“不能”的意思。
-
不要将您的 CSS 或 JS 存储在本地存储中。这不是它的设计目的。设置适当的
Expires标头,让浏览器处理缓存。我知道你说你预料到了这一点,但实际上,当浏览器被设计用来处理这个问题时,你自己尝试这样做是不值得的。只需将到期日期设置为未来一年,即可完成。 -
第二个 Expires 标头,甚至可以使用像谷歌这样的免费 CDN - code.google.com/apis/libraries/devguide.html#jquery
-
我想我得到的错误是 localstorage 需要一个字符串。并且 jquery 库不是字符串。一定有办法解决这个问题。
-
我必须同意@Michael Mior;如果你能用一个用例澄清一下,也许会有所帮助?
标签: javascript jquery html local-storage