一、完全跨域(域名完全不同,不兼容IE6)
某次需求需要在页面中签入iframe,iframe的src页面和主页面不在同一个域内,而且iframe的内容也不是固定的,所以宽度需要自适应设置,经过网上的搜索探索,终于整好了,分享下代码;
1 www.a.com/index.html页面内容
<iframe src="http://www.b.com/b.html" name="aIframeid" id="aIframeid" frameborder="no" border="0px" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes" ></iframe>
2 www.b.com/b.html页面内容
<iframe id="iframeProxy" name="iframeProxy" height="0" width="0" src="" style="display:none" ></iframe> {literal} <script type="text/javascript"> function sethash(){ hashH = document.documentElement.scrollHeight; //获取自身高度 urlC = "http://www.a.com/a_proxy.html"; //设置iframeA的src document.getElementById("iframeProxy").src=urlC+"#"+hashH; //将高度作为参数传递 } window.onload=sethash; </script>
3 www.a.com/a_proxy.html 中介页面
<script> function pseth() { var iObj = parent.parent.document.getElementById('aIframeid');//A和main同域,所以可以访问节点 iObjH = parent.parent.frames["aIframeid"].frames["iframeProxy"].location.hash;//访问自己的location对象获取hash值 iObj.style.height = iObjH.split("#")[1]+"px";//操作dom } pseth(); </script>
二 、 二级域名相同,三级域名不同
上面的方法也可以,但是也可以用一种最简单的方法:
在子页面中获取到本身的高度,然后写到cookie中,cookie的path设置为***.com,然后在父页面中获取这个cookie,
当然,在页面每次加载的时候,将这个cookie值设为空,然后再赋值本身的高度。只要子页面加载就重新赋值。
相关推荐
完美解决跨域iframe的高度自适应,完美解决跨子域iframe的高度自适应,嵌入几个页面解决跨域iframe的高度自适应。。。
iframe 跨域 自适应高度 模板 iframe 跨域 自适应高度 模板 iframe 跨域 自适应高度 模板
这个库允许的高度与同跨域iframe来适应他们所包含的内容的宽度自动调整大小。它最常见的问题与使用iframes提供一系列的功能,其中包括: 高度和宽度大小的iframe内容大小。 作品以多个嵌套的iframe。 跨域iframe域...
可以实现Iframe跨域自适应高度 main.htm和agent.htm文件放在www.a.com域内 iframe.htm放在www.b.com域内 这样就可以通过a.com域中的main.htm文件访问b.com域中的iframe.htm文件了
iframe 跨域 自动适应高度;iframe 跨域 自动适应高度;
iframe跨域嵌套自适应高度 iframe跨域嵌套 丢失session值(针对嵌套asp.net 做的网站)
这是关于iframe使用过程中出现的问题整理的解决方法,关于使用iframe不用单独写接口打通数据,直接把数据通过ifarme嵌套方法传递过去,使用简单方便。
有个在线例子,访问地址:http://okiner.cn/demo/cross-domain/iframe.html,这是源码,方便下载
有个在线例子,访问地址:http://okiner.cn/demo/cross-domain/iframe.html,这是源码,方便下载
iframe的高度需要根据子页面的实际高度来进行调整,但是如果子页面不在同一域中怎么办?这时候脚本没有办法获取到子页面的高度,存在JavaScript跨域的问题
采用JavaScript来控制iframe元素的高度是iframe高度自适应的关键,同时由于JavaScript对不同域名下权限的控制,引 发出同域、跨域两种情况。 同域时Iframe高度自适应 下面的代码兼容IE/Firefox浏览器,控制id为...
最近在做项目中,遇到一个问题,就是iframe高度的自适应问题,以下是解决办法
前几天做公司和开心网合作项目的时候 碰到iframe 跨域自适应的问题刚开始很迷惑 开心网那边技术工程师给我发了一段这样子的代码。
www.baidu.com,假设地址:http://www.baidu.com/b.html 实现效果: A域名下的页面a.html中通过iframe嵌入B域名下的页面b.html,由于b.html的宽度和高度是不可预知而且会变化的,所以需要a.html中的iframe自适应大小....
NULL 博文链接:https://cjb.iteye.com/blog/406466
Iframe自适应高度一直都备受关注,接下来为大家介绍下同域名下Iframe自适应高度的处理以及跨域时Iframe高度自适应,感兴趣的朋友可以参考下哈
介绍: 填写的嵌入地址一定要和本页面在同一个站点上,否则会提示“拒绝访问!”。对跨域引用有权限问题,请查阅其他资料。
iframe-resizer-master解决iframe高度自适应问题,跨域问题 iframe-resizer-master解决iframe高度自适应问题,跨域问题