Javascript出于安全性考虑,不允许跨域调用其他页面的对象。
最近在项目中也遇到了这个问题,存在于多应用系统之间JS的调用时。
问题是在平台系统(A系统)主页面上包含了一个展现业务系统(B系统)的待办列表的JSP,而当点击其中的连接的时候,是要在A的主页面上调用JS方法打开一个标签页,标签页中载入B业务平台,但两个系统不在同一个域,所以就出现无法访问的情况。
我们的解决方案是,先在A系统写一个JSP文件,内容很简单,onload调用top.XXX(XX,XX),xxx是A系统主页面上打开标签页的JS方法。
然后在需要放到A的主页面的B系统的待办列表JSP页面里,写一个js方法,如下:
function a()
{
var iframe = createElement("iframe");
iframe.src = "xxx.jsp" //此路径是刚才A系统写的那个JSP
body.appendChild(iframe);
}
然后在超连接上触发这个方法,就可以实现跨域访问A系统的JS方法了。
因为在B的JSP上新建的这个IFRAME与A系统是在同一个域的,所以可以直接top.XXX()来调用顶父窗体的方法。
就像下图,B新建了与A同域的C访问A的方法,B可以通过URL传递给C参数,C然后通过调用A方法时把参数传递过去,这就实现了比较简洁的跨域访问。
-----------------------
| |---------------| |A
| | |---------| C |B |
| | |---------| | |
| |---------------| |
-----------------------
分享到:
相关推荐
JS跨域访问解决
js跨域访问解决方案总结,不同域名下cookie相互操作
JS跨域访问解决方案总结[参照].pdf
JS跨域访问解决方案总结! JS跨域访问解决方案总结 JS跨域访问解决方案总结
js解决跨域访问问题,在用js访问web后台方法的时候,有时候会遇到跨域访问的问题。文档中介绍了跨域访问产生的原因以及相应的解决办法及代码示例。
文档内容详细,只需要负责粘贴,并替换url即可使用
JS跨域访问解决方案总结.pdf
javascript 跨域访问 综合解决方案
js_跨域访问[参照].pdf
Javascript跨域访问解决方案 个人在网上搜集的资料,用于传输信息,不提倡下载
服务器端用可控js跨域访问服务器端用可控js跨域访问
本demo为通过jquery 来进行json的跨域访问的小例子。简单易懂!
不同软件系统下 js 实现跨域访问
通过HTTPClient界面在JSP中嵌入iframe子界面跨域时,无法获取跨域界面的属性值的问题
JS跨域访问解决方案的总结.doc跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源。这种情况很常见,比如说通过style标签加载外部样式表文件、通过 img 标签加载外部图片、通过 script ...
javascript跨域访问是web开发者经常遇到的问题,什么是跨域,一个域上加载的脚本获取或操作另一个域上的文档属性,下面将列出三种实现javascript跨域方法: 1.基于iframe实现跨域 基于iframe实现的跨域要求两个域...