我正在实现一个Javascript模块管理器,通过XHR对象加载javascript文件.这种方法的问题是资源缓存:
XHR依靠内置的浏览器缓存机制,但是它的行为取决于浏览器的实现.localStorage,有一个basket.js它使用localStorage缓存下载的脚本,问题是存储大小限制通常是5-10MB.此外,localStorage是许多脚本的共享位置,它们也使用它来存储数据.Cache的接口ServiceWorkerAPI,但它只能在可ServiceWorker运行,因此怀疑地适合我的需要. 有谁知道他在他的项目中使用的一些聪明的旧的或新的javascript缓存技术,或者听说过?
注意:请不要建议使用.ajax作为接口的jQuery XHR,或者实现内置Javascript功能接口的任何其他库.
编辑:有一些有价值的建议:
我有一个使用IndexedDB的工作示例,非常适合我的桌面Chrome.尽管如此,我的主要目标是为iOS设备(Chrome-Safari)开发,但目前还没有此API.我该怎么办?
我见过这个Polyfill:http://nparashuram.com/IndexedDBShim/.但是,我用我的iPod Touch第五代进行了测试,不知怎的,第19次测试不起作用......
我应该使用已弃用的WebSQL吗?
我喜欢Polyfill的想法,但它不适合我......
是否有计划在未来为所有不支持的浏览器支持IndexedDB?
谢谢!
我有一个现有的应用程序,它在早期版本的 Safari 中运行良好,并使用 indexedDB polyfill 来存储数据。大多数活动发生在 Web Worker 中,因此可以从 Web Worker 访问 WebSQL。
但是,我现在正在尝试使用 Safari 6.2 访问本机 indexedDB,尽管可以在“主”工作线程中引用 indexedDB,但当我尝试访问“self.indexeddb”或“indexeddb”时,它们都返回未定义。
有没有人能够在最新版本的 Safari 中访问 web worker 中的 indexedDB?
indexeddb ×2
javascript ×2
safari ×2
ajax ×1
caching ×1
integration ×1
ios ×1
polyfills ×1
undefined ×1