麻烦与iframe

时间:2012-11-12 04:33:49

标签: javascript html iframe

我一直在互联网上搜索,像疯了一样经过堆栈流程并解决了我的一半问题,我试图在点击链接加载页面的完整大小时调整iframe的大小,我已经得到了它在IE工作,但在FF没有任何事情发生它只是保持相同的高度,

适用于IE的代码         

function calcHeight() {
    var the_height = 0;
    //find the height of the internal page
    if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Firefox/x.x or Firefox x.x (ignoring remaining digits);
        the_height = document.getElementById('class').contentDocument.body.offsetHeight + 140;
    }
    else {
        the_height = document.getElementById('class').contentWindow.document.body.scrollHeight + 18;
    }
    document.getElementById('class').height = the_height + "px";
}

iframe代码

    <iframe src="iframback.html" name="class" id`="class" width="100%" height="auto" scrolling="no" frameborder="0" onload="calcHeight();" allowtransparency='true'></iframe></td>

任何帮助都将非常感谢我无法想象这一个! 这是一个指向测试页面的链接,您可以点击“俄亥俄州隐藏手枪许可证(CHL)”并在其旁边显示代码并让IFRAME像在IE中一样展开。 谢谢! http://www.dualactiontactics.com/Update/7/Training.html

1 个答案:

答案 0 :(得分:0)

您在iframe中使用 id` 而不是id,首先更改此

<iframe src="iframback.html" name="class" id`="class" width="100%" height="auto" 
scrolling="no" frameborder="0" onload="calcHeight();" allowtransparency='true'></iframe>

id` =“class”指向 id =“class”

并在js中更改声明

document.getElementById('class').height = the_height + "px";

document.getElementById('class').height = the_height;

document.getElementById('class').style.height= the_height + "px";