[英]Will cross-domain scripting using JavaScript work when the two frames have the same domain 2 levels up?
我有一种方案,其中.net应用程序是从SAP门户托管的。
如您所见,门户和应用程序服务器域不是同一级别的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解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.