3

我一直在研究这个问题,但找不到让我满意的答案。

我非常清楚它们适用于标准网络浏览器中的网站的相同来源策略。当我开始开发使用本机 webview 并使用 jQuery.load方法加载网站内容的移动应用程序时,我的问题出现了。通常在标准 Web 浏览器中,我会收到 XHR 加载错误。

那么,关于原生应用程序和跨源策略的规则是什么?

4

1 回答 1

3

机器人伍兹绝对是在正确的轨道上。在处理本机应用程序时,您在某种意义上是从 file:// 发出请求,而不是从 https:// 发出请求。因为您不是通过 HTTP 协议发出请求,所以不适用相同的规则。从您的本地移动应用程序发出请求时,您应该毫无问题地向任何域发出请求。

如果您要让整个页面替换 web 视图中的正常内容,您只需将域添加到 PhoneGap/Cordova 中的白名单,这通常不会发生(您通常只是从服务器请求数据块,而不是进行 window.location 更改)。

于 2012-08-16T16:02:42.993 回答