jQuery $ .get不适用于Phonegap或Mobile Safari中的“本地”文件

时间:2012-06-05 13:19:03

标签: javascript jquery cordova mobile-safari

我有一个模板系统,我试图使用我的Phonegap应用程序,它使用jQuery和$ .get()函数。

$.get('templates/' + name + '.html', someFunctionHere(){});

当我在localhost上将应用程序作为服务器运行并通过Chrome或Safari查看时,模板系统可以正常运行 当我在iOS模拟器上通过Phonegap运行应用程序时,它不起作用。没有文件返回,“someFunctionHere()”也没有运行 重要说明:当我在iOS模拟器下使用Mobile Safari查看本地主机提供的页面时,它也不起作用。

对我而言,这听起来像Mobile Safari和Phonegap使用的WebKit浏览器不允许访问本地文件?这感觉完全错误,但它看起来如何。

以前有没有人遇到过这个问题,或者知道如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

我认为safari不支持默认启用的异步调用,您需要关闭异步模式才能使其在Safari中运行。

答案 1 :(得分:0)

可能与:http://developer.mozilla.org/en/http_access_control

有关

而不是使用localhost访问file://协议中的文件,它应该可以工作,这是Safari / Mobile Safari中的跨域限制。

答案 2 :(得分:0)

您是否尝试将$ .get的类型参数设置为“text”?这对我有用。如果你没有$ .get会尝试猜测它,在我的情况下它猜错了。