Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 加载openSocial小工具时拒绝访问_Javascript_Opensocial - Fatal编程技术网

Javascript 加载openSocial小工具时拒绝访问

Javascript 加载openSocial小工具时拒绝访问,javascript,opensocial,Javascript,Opensocial,我有三台服务器: 服务器A:主应用程序主机 服务器B:另一个应用程序的主机,它在主应用程序中作为openScoial小工具打开 服务器C:服务器B上应用程序的OpenSocial规范文件的主机 现在,我访问服务器A上的应用程序,但我得到一个错误,说一些javaScript文件函数拒绝访问 看起来像是跨域问题,欢迎提供任何帮助。您的小工具是否使用了任何类型的身份验证?为什么xml与应用程序位于不同的服务器上?他们也在不同的领域吗?您使用什么方法加载javascript?您正在使用哪个OpenSoc

我有三台服务器:

服务器A:主应用程序主机

服务器B:另一个应用程序的主机,它在主应用程序中作为openScoial小工具打开

服务器C:服务器B上应用程序的OpenSocial规范文件的主机

现在,我访问服务器A上的应用程序,但我得到一个错误,说一些javaScript文件函数拒绝访问


看起来像是跨域问题,欢迎提供任何帮助。

您的小工具是否使用了任何类型的身份验证?为什么xml与应用程序位于不同的服务器上?他们也在不同的领域吗?您使用什么方法加载javascript?您正在使用哪个OpenSocial容器实现?您正在使用锁定的域吗?到目前为止你试过什么

我可以给你一些一般性的建议/信息,但如果不回答至少上述问题,我就无法确切理解你的问题是什么

OpenSocial小工具是在iFrame中呈现的,它们的域是由呈现它们的OpenSocial容器选择的,它们几乎从未在小工具xml的域中呈现过(据我所知,没有这种情况)。通常,此域只是父页面/OpenSocial容器的域,除非启用了锁定域,在这种情况下,小工具将呈现在一个单独的、唯一的域上,以防止它从父页面访问任何内容


跨域策略阻止xhr请求,这就是为什么您需要使用gadgets.io.makeRequest来处理通常使用xhr所做的任何事情,但是makeRequest需要某种身份验证(通常是oauth),因为这基本上涉及到OpenSocial容器代理来自gadget服务器的内容(在您的示例中是服务器的C和B)。仍然可以使用不受跨源策略影响的JSONP加载javascript/数据。

Thanx对于答案David,您能否共享一些链接,说明如何通过简单html页面中的iFrame访问网页(遵循跨域策略)。?我只需绕过跨域策略即可。!我问的问题你都没有回答。您是否尝试过搜索“绕过跨域策略”?(你真的不应该那样做…)。要在简单html页面中呈现iframe,请选择simple include