我在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
知道我在这里缺少什么吗?
答案 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插件 需要在物理设备上进行开发。