我的应用程序使用 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 上测试)。
尝试更改位置时,没有任何 react 。应用程序停留在当前页面,似乎没有抛出异常。
在这两种情况下,我都使用 org.apache.cordova.file
插件版本 1.0.1(Phonegap Build 上可用的版本)。
Phonegap 3.5.0 有什么变化吗?
最佳答案
出于某种原因,您只需要使用 toNativeURL
而不是 toURL
在 Phonegap 3.5 中(在 Android 上测试):
toURL
给我cdvfile://localhost/persistent/Path/To/Folder
toNativeURL
给我file:///storage/sdcard0/Path/To/Folder
使用
toNativeURL
有使用 file
的优势协议(protocol)而不是 cdvfile
,因此不存在同源策略问题(参见我的另一个问题 AJAX blocked when using cdvfile - Phonegap )。
关于cordova - 无法将位置更改为本地文件,例如 Phonegap 3.5 中的 cdvfile ://path/index. html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25597969/