Javascript 如何通过ajax将下载的文件保存在内存中

Javascript 如何通过ajax将下载的文件保存在内存中,javascript,html,Javascript,Html,我正在基于现有的ios应用程序制作一个html5网络应用程序。它针对ios Safari浏览器的最新两个版本。为了让这个web应用程序正常工作,我需要使用一个api来处理当前ios应用程序和php后端之间的通信 第一个障碍是需要定期(例如每次应用程序启动时)从服务器下载api配置文件(gzip),以保持自身的更新。然后我需要解压以获得配置文件,它基本上包含命令名和http地址的键值对。当我需要某些命令时,例如显示用户的配置文件pic,我会按命令编号查找配置文件,以找到相应的请求地址,这样我就可以

我正在基于现有的ios应用程序制作一个html5网络应用程序。它针对ios Safari浏览器的最新两个版本。为了让这个web应用程序正常工作,我需要使用一个api来处理当前ios应用程序和php后端之间的通信

第一个障碍是需要定期(例如每次应用程序启动时)从服务器下载api配置文件(gzip),以保持自身的更新。然后我需要解压以获得配置文件,它基本上包含命令名和http地址的键值对。当我需要某些命令时,例如显示用户的配置文件pic,我会按命令编号查找配置文件,以找到相应的请求地址,这样我就可以向服务器发出请求

要总结这些步骤,请执行以下操作:

  • 通过ajax下载(gzip)配置文件

    我不认为html锚定标记(带或不带下载属性)是一个选项。因为这样Safari将提示用户使用文件处理应用程序(例如FileApp)打开下载的文件下载必须在黑暗中进行。

  • 解压缩下载的文件

    我知道一些js库承诺做这项工作。我还没有测试它们,因为第一步还没有解决。欢迎任何推荐

  • 在进行api调用时查找这些文件中的http地址

    不过应该没问题


  • 对于ios应用程序,我可以简单地将配置文件下载到应用程序沙盒中,然后用它做任何我想做的事情。但对于web应用程序,即使是最新的ios Safari也不支持HTML5文件系统api。我能做什么?

    第一步。

    Safari应该支持HTTP压缩。最好是利用这一点,而不是找出一种使用JavaScript解压文件的方法。PHP似乎有几个选项:

    甚至在服务器级别:

    第2步。

    用于缓存配置设置。每次用户关闭浏览器时,数据都会被清除

    第3步。


    AJAX请求调用的PHP处理程序应该负责解析配置文件,并向浏览器发送JavaScript友好的JSON。使用
    JSON.parse(),除非您使用的是私人浏览模式。您是在询问“如何下载和解压文件”还是“如何将其存储在设备上”?@Vatev,例行工作是在进行api调用时查找文件。从服务器下载并解压缩后,文件内容可以存储在任何位置或仅存储在内存中。所以我的问题是“如何下载和解压文件,同时把它放在任何地方都可以”。不要要求javascript解压文件。只需将它们解压缩(因为浏览器会自动压缩),然后可能将配置存储在HTML5 localStorage中。然后,在应用程序启动时,您可能只需致电服务器,查看是否有更新版本的配置,并仅在需要时下载,而不是每次下载。