JS中插入iframe 自适应高度

时间:2022-11-12 13:37:40
 小白一个 用114源代码做网址导航 
 主页面调用main.js, main.js中点击切换tab 调用不同的外部网址url
 怎么样才可以实现iframe自适应高度
这是tab菜单:
JS中插入iframe 自适应高度
这是js主要代码:(百度好多无法自适应高度调用外部url)
JS中插入iframe 自适应高度
调用网址实例:
JS中插入iframe 自适应高度

7 个解决方案

#1


一个简单的思路是
加载完成iframe后  获取其body的宽度
再动态的去设置iframe的宽度

#2


在你的iFrame上添加onload事件,在onload事件中获取iFrame的body的高度,再把外层div的高度设为这个高度就好了。
<iframe id="frame" border='0' width='100%' height='100%' src='表格1.html' onload="height()"></iframe>
 
function height2(){ 
var frame = document.getElementById("frame"); 
var nheight; 
if (frame.Document){ 
    nheight = frame.Document.body.scrollHeight + 20 + "px"; 
}else{ 
    nheight = frame.contentDocument.body.scrollHeight+ 20 + "px"; 
}
document.getElementById("div")..style.height = nheight;

#3


跨域不行。。获取不到iframe里面内容

#4


引用 3 楼 showbo 的回复:
跨域不行。。获取不到iframe里面内容

那我把外域的先iframe在一个网址下网页 然后再镶嵌iframe 可以吗  
就是说 比如外网址是a.html  我的网址是b.html  我先在c.html中iframe a.html,
然后在b.html中ifarme b.html  这样可以吗

#5


引用 4 楼 feiguohashao 的回复:
Quote: 引用 3 楼 showbo 的回复:

跨域不行。。获取不到iframe里面内容

那我把外域的先iframe在一个网址下网页 然后再镶嵌iframe 可以吗  
就是说 比如外网址是a.html  我的网址是b.html  我先在c.html中iframe a.html,
然后在b.html中ifarme b.html  这样可以吗


不是说了,你iframe有什么用,你获取不到iframe的跨域的相关信息,在多iframe几个没用,你自适应高度不就是跨域的页面高度,获取不到高度

#6


引用 5 楼 showbo 的回复:
Quote: 引用 4 楼 feiguohashao 的回复:

Quote: 引用 3 楼 showbo 的回复:

跨域不行。。获取不到iframe里面内容

那我把外域的先iframe在一个网址下网页 然后再镶嵌iframe 可以吗  
就是说 比如外网址是a.html  我的网址是b.html  我先在c.html中iframe a.html,
然后在b.html中ifarme b.html  这样可以吗


不是说了,你iframe有什么用,你获取不到iframe的跨域的相关信息,在多iframe几个没用,你自适应高度不就是跨域的页面高度,获取不到高度
\
好吧 已经搞定了

#7


我的  http://www.coding99.com/fe/show_48.html 可以看看 互相学习   JS中插入iframe 自适应高度

#1


一个简单的思路是
加载完成iframe后  获取其body的宽度
再动态的去设置iframe的宽度

#2


在你的iFrame上添加onload事件,在onload事件中获取iFrame的body的高度,再把外层div的高度设为这个高度就好了。
<iframe id="frame" border='0' width='100%' height='100%' src='表格1.html' onload="height()"></iframe>
 
function height2(){ 
var frame = document.getElementById("frame"); 
var nheight; 
if (frame.Document){ 
    nheight = frame.Document.body.scrollHeight + 20 + "px"; 
}else{ 
    nheight = frame.contentDocument.body.scrollHeight+ 20 + "px"; 
}
document.getElementById("div")..style.height = nheight;

#3


跨域不行。。获取不到iframe里面内容

#4


引用 3 楼 showbo 的回复:
跨域不行。。获取不到iframe里面内容

那我把外域的先iframe在一个网址下网页 然后再镶嵌iframe 可以吗  
就是说 比如外网址是a.html  我的网址是b.html  我先在c.html中iframe a.html,
然后在b.html中ifarme b.html  这样可以吗

#5


引用 4 楼 feiguohashao 的回复:
Quote: 引用 3 楼 showbo 的回复:

跨域不行。。获取不到iframe里面内容

那我把外域的先iframe在一个网址下网页 然后再镶嵌iframe 可以吗  
就是说 比如外网址是a.html  我的网址是b.html  我先在c.html中iframe a.html,
然后在b.html中ifarme b.html  这样可以吗


不是说了,你iframe有什么用,你获取不到iframe的跨域的相关信息,在多iframe几个没用,你自适应高度不就是跨域的页面高度,获取不到高度

#6


引用 5 楼 showbo 的回复:
Quote: 引用 4 楼 feiguohashao 的回复:

Quote: 引用 3 楼 showbo 的回复:

跨域不行。。获取不到iframe里面内容

那我把外域的先iframe在一个网址下网页 然后再镶嵌iframe 可以吗  
就是说 比如外网址是a.html  我的网址是b.html  我先在c.html中iframe a.html,
然后在b.html中ifarme b.html  这样可以吗


不是说了,你iframe有什么用,你获取不到iframe的跨域的相关信息,在多iframe几个没用,你自适应高度不就是跨域的页面高度,获取不到高度
\
好吧 已经搞定了

#7


我的  http://www.coding99.com/fe/show_48.html 可以看看 互相学习   JS中插入iframe 自适应高度