Phonegap混合iOS应用程序中加载的远程网页可以将数据保存到iOS文件系统吗?
Posted
技术标签:
【中文标题】Phonegap混合iOS应用程序中加载的远程网页可以将数据保存到iOS文件系统吗?【英文标题】:Can a remote webpage loaded in Phonegap hybrid iOS app save data to iOS filesystem? 【发布时间】:2014-03-06 00:54:40 【问题描述】:我们有一个托管在服务器上的移动网络应用程序。我们想使用 Phonegap 将其转换为混合应用程序,但我们不想在混合应用程序的 www 文件夹中嵌入 html 和其他代码。我们希望页面保持远程,以便更新它们可以独立于应用程序。这是一个内部 ios 应用程序,我们不打算将其提交给 Apple。
这个移动网络应用程序会进行一些网络服务调用,这些调用会返回一些 json 响应。在混合应用程序中,我们希望将 json 响应保存在 iOS 设备文件系统上。我知道如果我们将 web 应用程序嵌入到混合应用程序的 www 文件夹中,我们可以使用插件轻松地做到这一点。但是由于 web 应用程序是远程托管的,phonegap 插件是否仍然可以与 javascript 代码对话并获取 web 服务响应并保存到设备?
【问题讨论】:
【参考方案1】:是的,您可以使用 文件 插件来写入、读取、删除、上传和下载文件。 http://docs.phonegap.com/en/3.3.0/cordova_file_file.md.html#File
在 JS 中通过 HTML 与插件通信的示例代码:
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady()
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
function gotFS(fileSystem)
fileSystem.root.getFile("readme.txt", create: true, exclusive: false, gotFileEntry, fail);
function gotFileEntry(fileEntry)
fileEntry.createWriter(gotFileWriter, fail);
function gotFileWriter(writer)
writer.write("some sample text");
为了通过您的应用与网络服务进行通信,您必须将 config.xml 更新为 <access origin="*" />
。 jQuery Ajax 非常适合检索 JSON。
【讨论】:
以上是关于Phonegap混合iOS应用程序中加载的远程网页可以将数据保存到iOS文件系统吗?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript/jquery:如何检测在其他窗口或应用链接中加载的页面?