我想在脚本功能完成后编辑 twitter 为 dom 提供的 iframe 的高度。我想在这里编辑高度的原因是,我希望 iframe 的高度与其兄弟元素的高度相同。
所以我想要 twitteriframe.height() == mydiv.height()。
但是,由于 iframe 是动态加载的,因此我无法在 document.ready 中访问它。没有点击事件,那么我还能做些什么来编辑 iframe 高度?
我决定改用css来做。设置父容器的高度并将其设置为overflow:hidden
;
你可以尝试这样的事情:
var queryTimeoutMS = 100;
window.setTimeout(resizeTwitterIFrame,queryTimeoutMS);
function resizeTwitterIFrame(){
if($("#frameId").length > 0){
//Do your stuff
}
else{
window.setTimeout(resizeTwitterIFrame,queryTimeoutMS);
}
}
加载框架后尝试调整高度。
$('#frameId').load(function () {
// do something here
});
如果元素是动态添加的,那么就会出现问题 - 您无法控制插入的元素(因为不推荐使用 DOM Mutation Events),因此作为一种解决方法,您可以不断检查此类元素的存在(例如使用已清除的 setInterval找到元素后)。
添加后检查 iframe 的高度并将其应用于第二个元素。