从打包文件中执行AJAX(例如,位置" 文件:///android_asset/www/index.html")效果很好,但是从本地文件(例如& #34; cdvfile :// localhost /persistent / TEST / index.html")没有。
我想这与同源政策有关。有什么办法可以让它发挥作用吗?
如果我是从互联网上阅读文件,我会设置网络服务器添加一些" Access-Control-Allow-Origin"标题,但这里没有网络服务器。使用jsonp会起作用,但它意味着更改服务器和应用程序中的代码。
这是在Android 4.1.2&amp ;;上测试的。 4.4.2使用Phonegap 3.4。
答案 0 :(得分:3)
实际上使用toNativeURL
代替toURL
可以解决问题,因为toNativeURL
使用file
协议而不是cdvfile
协议。
它还使window.location = pathToLocal;
在Phonegap 3.5中工作(参见我的另一个问题Cannot change location to local file eg cdvfile://path/index.html in Phonegap 3.5)。