1

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

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

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

对我来说,这听起来像是 Mobile Safari 和 Phonegap 使用的 WebKit 浏览器不允许访问本地文件?这感觉完全不正确,但这就是它的外观。

有没有人遇到过这个问题,或者知道解决这个问题的方法?

4

3 回答 3

2

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

于 2012-06-05T13:27:05.477 回答
0

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

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

于 2012-06-05T13:28:58.193 回答
0

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

于 2012-06-26T11:08:57.123 回答