我有以下代码,每隔0.1秒检查一次iFrame内容宽度。该代码有效,但我认为这不是最佳实践。
这是我的代码
function iframeLoaded() {
var iFrameID = document.getElementById('appframe');
if (iFrameID)
{
iFrameID.height = '';
if (iFrameID.height != iFrameID.contentWindow.document.body.scrollHeight + 'px')
{
iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + 'px';
}
}
}
setTimeout(iframeLoaded, 100);
和HTML
<iframe src='https://google.com' frameborder='0' scrolling='no' id='appframe' onload='iframeLoaded()'></iframe>
最好的解决方案是检查iFrame高度是否每隔0.1秒更改一次,然后在发现变化时才调整iframe高度的大小。
像现在一样,即使它们未检测到iFrame高度的变化,代码也会调整高度。
答案 0 :(得分:0)
您可以添加事件监听器:
var iframeWindow = document.getElementById('myiframe').contentWindow; $(iframeWindow).on('resize', function(){
//...
});