JavaScript处理Iframe自适应高度(同或不同域名下)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript处理Iframe自适应高度(同或不同域名下),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3215字,纯文字阅读大概需要5分钟。
内容图文
![JavaScript处理Iframe自适应高度(同或不同域名下)](/upload/InfoBanner/zyjiaocheng/304/82f9c38f1e8440bda931554a4a33b72a.jpg)
<iframe onload="Javascript:SetIFrameHeight(this)" src="../Home/b" id="win" name="win" width="100%" height="1"> </iframe>
当然此处我用的是Asp.Net MVC 此处src设置为路由结构
<script type="text/javascript"> function SetIFrameHeight(obj) { var win = obj; if (document.getElementById) { if (win && !window.opera) { if (win.contentDocument && win.contentDocument.body.offsetHeight) win.height = win.contentDocument.body.offsetHeight; else if (win.Document && win.Document.body.scrollHeight) win.height = win.Document.body.scrollHeight; } } } </script>
用到的就是iframe嵌套的页面加载完毕的时候,运用onload事件来获取嵌套在iframe中网页的高度,然后赋值给Iframe的高度即可。
2.跨域时Iframe高度自适应
在主页面和被嵌套的iframe为不同域名的时候,就稍微麻烦一些,需要避开JavaScript的跨域限制。 原理:现有iframe主页面main.html、被iframe嵌套页面iframe.html、iframe中介页面agent.html三个,通过main.html(域名为http://www.ccvita.com)嵌套iframe.html(域名为:http://www.phpq.net),当用户浏览时执行iframe.html中的JavaScript代码设置iframeC的scr地址中加入iframe页面的高度,agent.html(域名为:http://www.ccvita.com)取得传递的高度,通过JavaScript设置main.html中iframe的高度。最终实现预期的目标。 iframe主页面main.html [code] < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>iframe主页面</title></head> <body> <div style="border:1px solid #ccc;padding:10px;"> <iframe id="frame_content" name="frame_content" src="iframe.html" width="100%" height="0" scrolling="no" frameborder="0"></iframe> </div> <br />尾部<br /> </body> </html>
iframe嵌套页面iframe.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>被iframe嵌套页面</title></head> <body> 文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 文字<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <iframe id="iframeC" name="iframeC" src="" width="0" height="0" style="display:none;" ></iframe> <script type="text/javascript"> function sethash(){ hashH = document.documentElement.scrollHeight; urlC = "agent.html"; document.getElementByIdx("iframeC").src=urlC+"#"+hashH; } window.onload=sethash; </script> </body> </html>
iframe中介页面agent.html
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title>iframe中介页面</title></head> <body> <script> function pseth() { var iObj = parent.parent.document.getElementByIdx('frame_content'); iObjH = parent.parent.frames["frame_content"].frames["iframeC"].location.hash; iObj.style.height = iObjH.split("#")[1]+"px"; } pseth(); </script> </body> </html>
代码里,kimi可能路径表示不全
main.html 与 agent.html 是必须同一个域里
而iframe.html在另一个域
更多JavaScript 处理Iframe自适应高度(同或不同域名下)相关文章请关注PHP中文网!
内容总结
以上是互联网集市为您收集整理的JavaScript处理Iframe自适应高度(同或不同域名下)全部内容,希望文章能够帮你解决JavaScript处理Iframe自适应高度(同或不同域名下)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。