因此,我们有一个复杂的 HTML5 离线应用程序,其中包含大量旧数据(我们说的是数十兆字节),我们希望读取它的副本并将其写入用户的磁盘。
我们已经让这种类型的 HTML5 IndexedDB 工作了,但是 Chrome 处理大量数据时速度非常慢(加载大约 10 分钟),并且当前版本的 Firefox 有一个可爱的错误,它会随机且无法挽回地破坏整个数据库,所以这是 B 计划——此外,我们真的很想拥有一个用户可指定的文件,然后他们可以备份、邮寄等。
显然我们不能用普通的浏览器权限做到这一点,但是沙盒之外的 Firefox 扩展可以访问文件系统,我们已经了解了使用这个扩展的基本概念。唯一的问题是,扩展通过读取和写入 DOM 属性来传递数据,这对于我们正在谈论的数据量来说似乎不太理想:
但是,如果要相信这确实是唯一的方法,因为 Gecko 严格隔离特权页面(如我们的扩展程序)和非特权页面(如我们的网站)。还有其他解决方案吗?