cordova – 无法将位置更改为本地文件,例如Phonegap 3.5中的cdvfile://path/index.html

我的应用程序使用FileAPI在设备上复制文件.这在Phonegap 3.4.0和3.5.0中运行良好.

然后它通过执行window.location =“cdvfile://localhost/persistent/TEST/index.html”打开一个html文件; (注意路径不是硬编码的,而是使用类似myDirEntry.toURL()的东西,3.4和3.5都给出了相同的路径).

这在3.4.0(在几个版本的Android和iOS上测试)中运行良好,但它在3.5.0中不起作用(仅在Android 4.1.2和4.4.2上测试).

在尝试更改位置时,没有任何反应.该应用程序保留在当前页面中,似乎没有异常抛出.

在这两种情况下,我都使用org.apache.cordova.file插件版本1.0.1(Phonegap Build上可用的插件).

Phonegap 3.5.0有什么变化吗?

解决方法

出于某种原因,您只需要在Phonegap 3.5中使用toNativeURL而不是toURL(在Android上测试):

> toURL给我cdvfile:// localhost / persistent / Path / To / Folder
> toNativeURL给我file:/// storage / sdcard0 / Path / To / Folder

使用toNativeURL有利于使用文件协议而不是cdvfile,因此没有同源策略问题(参见我的其他问题AJAX blocked when using cdvfile – Phonegap).

相关文章

公司前端界面用的是vue,我要嵌入到Android中生成App第一步:...
Q:我用cordova开发项目,想在app内跳转外部链接,安装了cord...
我正在使用https://github.com/arnesson/cordova-plugin-fir...
一、Cordova的基础点在混合式应用中,我们通过现有的Cordova...
cordova自定义插件注意:存放自定义cordova插件目录不能有空...
一、问题VueAPP中有一个文件下载功能,用了各种方法来实现下...