【问题标题】:Is window.requestFileSystem method is deprecated?window.requestFileSystem 方法是否已弃用?
【发布时间】:2016-10-30 12:57:50
【问题描述】:

我目前正在开发一个旧的 iOS 应用程序。我对科尔多瓦没有太多想法。

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

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

所以我担心的是window。 requestFilesystem 方法已弃用。如果是这样,那么我怎样才能在最新的科尔多瓦中实现同样的目标。

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

任何帮助将不胜感激。

【问题讨论】:

    标签: ios iphone cordova cordova-plugins


    【解决方案1】:

    查看@iammilinds 的回答我必须更正我最初的陈述:

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

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

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

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

    【讨论】:

      【解决方案2】:

      是的,它已被弃用。
      到目前为止,它仅由 Chrome 实现。

      这是该 API 的 Window.requestFileSystem() 的 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
      

      【讨论】:

      • 问题不在于浏览器 API,而在于使用相同签名的 Cordova 插件文件 API(并且是在实现 HTML 5 浏览器 API 之前编写的)。
      猜你喜欢
      • 2015-09-19
      • 2014-08-29
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 2019-02-11
      • 2021-11-15
      • 2023-03-08
      相关资源
      最近更新 更多