当前位置 : 主页 > 手机开发 > cordova >

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

来源:互联网 收集:自由互联 发布时间:2021-06-10
我的应用程序使用FileAPI在设备上复制文件.这在Phonegap 3.4.0和3.5.0中运行良好. 然后它通过执行window.location =“cdvfile://localhost/persistent/TEST/index.html”打开一个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).

网友评论