是否已弃用window.requestFileSystem方法?

时间:2016-10-30 12:57:51

标签: ios iphone cordova cordova-plugins

我目前正在开发一款旧的iOS应用。我对科尔多瓦不太了解。

我被困在一个地方,代码使用 window.requestFileSytem 。成功回调此函数有一些代码。

当我调试时,我发现没有触发成功回调。我无法在latest cordova document中找到有关此功能的任何内容,但older document中有一些内容。

所以我担心的是窗口。不推荐使用requestFilesystem方法。如果是这样,我怎样才能在最新的cordova中实现同样的目标。

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onReqFileSystemSuccess, null);

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

回顾@iammilinds的答案我必须纠正我的初步陈述:

window.requestFileSystem方法是非标准的,不应使用。请参阅linked MDN docs

然而,在cordova文件插件herehere的文档中有代码示例包含window.requestFileSystem方法(搜索window.requestFileSystem可能会有所帮助,因为dcos非常大) 。

关于你最初的问题:我担心你必须调试它。也许检查浏览器的控制台可能会给你一个提示错误的提示。或者尝试将错误处理程序添加到window.requestFileSystem作为最后一个参数,如下所示:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onReqFileSystemSuccess, onErrorLoadFs);

答案 1 :(得分:2)

是,已弃用。
到目前为止,仅Chrome才实现此功能。

这是Window.requestFileSystem()的该API的Mozilla页面所说的:

  

非标准
  此功能是非标准的,不在标准轨道上。请勿在面向Web的生产站点上使用它:它不适用于每个用户。实现之间也可能存在很大的不兼容性,并且将来的行为可能会更改。

可以看到其他几个“文件和目录” API的上述通知。但是,以下注意事项很重要,并且仅对于此特定API是只读的。

  

即使与其他文件和目录条目API相比,requestFileSystem()还是非标准的; 只有Chrome浏览器可以实现,而其他所有浏览器制造商都决定不这样做实施它。它甚至已从the proposed specification中删除。不要使用这种方法!


正确用法如下所述:How to use window.requestFileSystem of FileSystem API?

window.requestFileSystem = window.requestFileSystem ||  // Chrome
                           window.webkitRequestFileSystem;  // Others