如何在浏览器中使用cordova文件插件?

时间:2015-11-30 17:16:43

标签: cordova google-chrome ionic

我在iPod上使用cordova file plugin并且没有任何问题。现在我想在我的Chrome浏览器中运行相同的应用程序并在那里使用它。这是我要执行的代码:

fileFactory.doesConfigurationExist = function ()
    {
        var q = $q.defer();
        $cordovaFile.checkFile(cordova.file.dataDirectory, configurationFile).then(function (success)
            {
                q.resolve(success);
            },
            function (error)
            {
                q.reject(error);
            });
        return q.promise;
    };

不幸的是,我收到以下错误,该函数进入拒绝:

5 ENCODING_ERR

文档没有说明这个错误。我正在运行我的离子应用程序:

cordova run browser

知道我在这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

HTML5文件API可以在浏览器中正常运行。实际上,文件插件将其作为文档引用。浏览器支持文件插件。阅读此处的文档: http://www.html5rocks.com/en/tutorials/file/filesystem/

您可能需要做的是正确处理特定于平台的目录。使用设备插件找出您正在运行的平台并从那里进行调整。

另请注意,有一个" QUIRK"用于Chrome和文件插件。在设备准备好安全使用插件后,您必须等待其他事件:

window.addEventListener('filePluginIsReady', function(){ console.log('File plugin is ready');}, false);

哦,Chrome还有额外的安全性,你需要覆盖,否则它不会工作:

Chrome requires --allow-file-access-from-files run argument to support API via file:/// protocol.

文档中的所有内容都已存在。

答案 1 :(得分:-1)

你不能

  

在您的浏览器中进行开发时,Cordova插件无法正常工作,因为   每个插件访问一个特定的API(如相机,麦克风,   加速度计),在您的浏览器中不可用。另外,   某些插件在模拟器中不起作用,例如Camera插件   需要在物理设备上进行开发。

http://ngcordova.com/docs/common-issues/