这是我的问题。我一直在努力寻找一个跨浏览器的iframe调整大小代码来使用,但我就是找不到。我发现所有的代码都在一个浏览器上有问题而在另一个浏览器上没有问题。这就是我的做法。我在jquery tools覆盖层中加载一个iframe到页面中。这个iframe将加载同一域上的页面内容(所以不需要担心跨域问题)。当用户在表单上点击一个动作时,iframe再次需要调整大小(当iframe增大时它是可以工作的,但当iframe减小时它就不行了)。
我有一个js文件被包含在iframe中,其中包含这个函数。
那个函数会像这样调用父页面的函数:
我有一个js文件被包含在iframe中,其中包含这个函数。
$(window).load(function(){
parent.adjust_iframe();
});
那个函数会像这样调用父页面的函数:
function adjust_iframe() {
//i have tried both body and html and both dont work in IE
var h = $("#overlayFrame").contents().find("body").height();
if(h==0)
h="500";
else
h=h+3;
$("#overlayFrame").css({'height': h});
window.scrollTo(0,0);
}
以上代码在Chrome和Firefox中运行良好,但在IE中无法正常工作。
有什么帮助吗?我真的需要一个跨浏览器兼容的轻量级解决方案,不涉及某些不受支持的重型jQuery插件。
谢谢!