繁体   English   中英

当两个框架具有相同的domain 2级别时,使用JavaScript的跨域脚本是否可以工作?

[英]Will cross-domain scripting using JavaScript work when the two frames have the same domain 2 levels up?

我有一种方案,其中.net应用程序是从SAP门户托管的。

  • SAP门户域: portalURL.al.xx.company.com
  • 应用服务器域: AppURL.ss.xx.company.com

如您所见,门户和应用程序服务器域不是同一级别的1级 。(即,在1级向上,门户网站的域将是al.xx.company.com,而应用程序服务器将是ss.xx.company.com)。

但是,在2级以上,门户网站和应用程序服务器域都是相同的。 (即xx.company.com)。

在我的JavaScript代码中,我将document.domain对象设置为xx.company.com 但是,我仍然收到“ 权限被拒绝 ”错误。

Portal和Appserver的协议相同。

仅当域在1层以上相同时,根据同源法的跨域脚本才会起作用吗? 请告诉我。

是的,“原产地”政策将拒绝这样做。 这两个帧必须位于完全相同的域上,甚至必须位于相同的端口上。

但是, document.domain 应该可以解决此问题。 如果它对您不起作用,请记住,必须在两个框架document.domain设置为xx.company.com (并且,如果您正在沿其他框架的层次结构进行操作以达到该目标(例如top.frame2 )您还需要为其他框架设置它( top )。

但是,如果您有权访问所有代码,则可以使用JSON-P解决此问题。

看一下同源策略 ,尝试考虑jsonp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM