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

jQuery $.get doesn't work for "local" files in Phonegap or Mobile Safari

本文关键字:中的 Safari 本地 文件 Mobile get 不适用 适用于 Phonegap jQuery      更新时间:2023-09-26

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

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

当我在本地主机上将应用程序作为服务器运行并通过 Chrome 或 Safari 查看时,模板系统运行良好。
当我在iOS模拟器上通过Phonegap运行该应用程序时,它不起作用。 不返回任何文件,并且"someFunctionHere()"不会运行。
重要提示:当我在iOS模拟器下使用移动野生动物园查看本地主机提供的页面时,它也不起作用。

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

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

我认为 safari 不支持默认情况下处于打开状态的异步调用,您需要关闭异步模式才能使其在 safari 中工作。

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

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

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