2012-03-14 40 views

回答

2

虽然您可以手动存储文件(使用Google Chrome的File API),但预期的方法是缓存。缓存是一种直接存储媒体的方式,看似自动

这只是写一个清单的问题:

CACHE MANIFEST 
blast.ogg 
styles.css 
images/gun.png 

这些文件在第一次加载后,您只需再次加载它们像往常一样,但他们来自磁盘,而不是你的服务器。它也适用于浏览器也离线的情况。

它也很好地降解:不支持的浏览器只是简单地管理缓存,因为他们看到的脚。

Here is a tutorial by Google at HTML5Rocks。

1

您无法通过浏览器中的JavaScript访问本地文件系统。这是由沙箱造成的,并且是浏览器内部安全模型的主要功能。

关于localStorage,您可以只存储文本,但在JSON.stringify()JSON.parse()的帮助下,您几乎可以存储您在JavaScript中遇到的任何对象或数据。

+0

但是当我打开这个网站:https://skid.gamagio.com/play/谷歌浏览器问我,如果我允许我的电脑上存储数据。 – 2012-03-14 08:19:38

+0

我无法加载你现在给出的链接,但我认为这可能是指[indexdb](https://developer.mozilla.org/en/IndexedDB)。但是,这里的支持不够普及,不适合实际使用 - 请看[这里](http://caniuse.com/#search=indexeddb)。 – Sirko 2012-03-14 08:28:25

+0

如果您将它与Web数据库结合使用,您可以支持除IE之外的所有主流浏览器。但我感到慷慨,这就是为什么没有-1(:-p) – Christoph 2012-03-14 09:09:42

1

也可以将base64编码文件,然后将它们保存到localStorage。你可以找到更多关于编码和保存图像的信息here