Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动应用上的同源策略_Javascript_Html_Mobile_Cross Domain - Fatal编程技术网

Javascript 移动应用上的同源策略

Javascript 移动应用上的同源策略,javascript,html,mobile,cross-domain,Javascript,Html,Mobile,Cross Domain,我一直在研究这个问题,但我找不到一个让我满意的答案 我非常了解适用于标准web浏览器中网站的同源策略。我的问题是在我开始开发一个移动应用程序时提出的,该应用程序使用原生webview,并使用jQuery的.load方法加载网站内容。通常在标准的web浏览器中,我会得到一个XHR加载错误 那么,关于本机应用程序和跨源策略的规则是什么呢?Robot Woods肯定走上了正确的道路。在处理本机应用程序时,从某种意义上讲,您是在从file:///而不是从https:///发出请求。因为您没有跨HTTP协

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

我非常了解适用于标准web浏览器中网站的同源策略。我的问题是在我开始开发一个移动应用程序时提出的,该应用程序使用原生webview,并使用jQuery的
.load
方法加载网站内容。通常在标准的web浏览器中,我会得到一个XHR加载错误


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

Robot Woods肯定走上了正确的道路。在处理本机应用程序时,从某种意义上讲,您是在从file:///而不是从https:///发出请求。因为您没有跨HTTP协议发出请求,所以相同的规则不适用。当您从本机移动应用程序发出请求时,您应该能够毫无问题地向任何域发出请求


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

据我所知,该设备充当服务器,并且可以从“任意”URL访问内容。如果您使用的是phonegap,您必须将域添加到它的白名单(或通配符)中。我在xcode和eclipse中设置了访问源,因此我知道在webview中访问这些站点需要这些源。您有关于它的任何文档吗?您是对的,但是如果该服务是控制源代码的,并且不允许file://schema呢?难道没有办法从请求中删除源代码吗?@MichaelBurger您可能想就此问题提出一个新问题。听起来你所问的问题背后有更多的细节可以帮助人们给你一个比评论更好的答案。我已经做了,也许你能帮忙吗?尝试一下,尽管我对这个问题不是100%清楚。