我有一个模板系统,我试图使用我的Phonegap应用程序,它使用jQuery和$ .get()函数。
$.get('templates/' + name + '.html', someFunctionHere(){});
当我在localhost上将应用程序作为服务器运行并通过Chrome或Safari查看时,模板系统可以正常运行 当我在iOS模拟器上通过Phonegap运行应用程序时,它不起作用。没有文件返回,“someFunctionHere()”也没有运行 重要说明:当我在iOS模拟器下使用Mobile Safari查看本地主机提供的页面时,它也不起作用。
对我而言,这听起来像Mobile Safari和Phonegap使用的WebKit浏览器不允许访问本地文件?这感觉完全错误,但它看起来如何。
以前有没有人遇到过这个问题,或者知道如何解决这个问题?
答案 0 :(得分:2)
我认为safari不支持默认启用的异步调用,您需要关闭异步模式才能使其在Safari中运行。
答案 1 :(得分:0)
可能与:http://developer.mozilla.org/en/http_access_control
有关而不是使用localhost访问file://协议中的文件,它应该可以工作,这是Safari / Mobile Safari中的跨域限制。
答案 2 :(得分:0)
您是否尝试将$ .get的类型参数设置为“text”?这对我有用。如果你没有$ .get会尝试猜测它,在我的情况下它猜错了。