我的应用程序使用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).