我该如何做到这一点?
我在列(html表)中有一个iframe,但是我想让td和iframe中的doc一样高。
有可能吗?
答案 0 :(得分:2)
这是答案(在JQuery中)。
在jQuery中:
$("#myIframe").on("load", function ()
{
$(this).parent("td:first").css('width', $(this).css('width')).css('height', $(this).css('height'))
});
答案 1 :(得分:0)
您需要使用Javascript计算内容的高度。
你可以在这里看到一个有效的例子: http://th.atguy.com/mycode/iframe_size/
答案 2 :(得分:0)
我在2个项目中使用这段代码,它对我来说没问题。我不知道是否有更好的方法来实现这一点(请注意,此代码具有setInterval,它将每1秒检查iframe的内容高度并更新其高度)。它也使用jQuery。
let iframe = document.getElementById('your_iframe_id'),
current_height = 0,
iframe_content = $(iframe).contents().find('body');
setInterval(() => {
let new_height = iframe.contents().find('body').height();
current_height = new_frame_height(current_height, new_height);
iframe.css({ height: current_height });
}, 1000)
function new_frame_height(last_height, height) {
if(height != last_height + 60) {
last_height = height;
}
return last_height + 60
}
顺便说一句,我认为这只有在iframe与父级在同一个域下时才有效。 如果不是,则浏览器中的跨源块将不允许父级读取子级内容。