您好,欢迎访问一九零五行业门户网

通过Iframe在A网站页面内嵌入空白页面的方式,跨域获取B网站的数据返回给A网站!_html/css_WEB-ITnose

以下代码只是为演示该方法具体是如何操作的,实际的意义并不大。
其实这个方法还可以解决很多方面的跨域操作,以下两点为我工作中遇到的情况!
比如a系统中打开b系统页面的时候,获取b系统页面高度,a系统中可以动态设置窗口的高度
还有a系统中打开b系统页面的时候,b系统页面进行一系列操作,操作成功后需关闭a系统窗口,就可以在操作成功后再在b系统中嵌入a系统的blank.html页面,blank.html页面打开的时候,动态关闭a系统的窗口!
下面为大家讲下是如何实现该方法的
1.在a系统下添加名称为blank.html的空白页面,注意不需要任何内容,因为只需要在里面添加js代码即可!
2.然后我们在a系统的home/index页面下嵌入ifrme路径指向b系统的home/index页面,并且加上自定义参数url,url就为刚才添加的a系统的空白页面,iframe记得添加name和id属性,方便接下来的操作!
3.这里会请求b系统的homecontroller控制器下的index动作,接收到传递过来的url参数,通过viewbag.blankurl=url返回到页面,页面加载的时候动态获取页面的高度,然后在页面的div元素中再次添加name=iframeblank的iframe元素并且地址指向viewbag.blankurl也就是a系统的空白页面,并通过#字符分割需要的参数传递过去,符号可以自定义!
4.a系统通过iframe嵌入b系统home/index页面的同时时,b系统又同时在页面嵌入a系统的blank.html页面以及b系统传递回来的数据,由于iframe的特殊属性需通过以下方式获取返回的数据  var data= window.parent.parent.frames[myframe].frames[iframeblank].location.hash
其它类似信息

推荐信息