1

我有 2 个 iframe:

  1. 导航
  2. 动态内容

我正在使用 JavaScript 调整内容的大小:

function autoResize(id) {
    var newheight;
    newheight = document.getElementById(id).contentWindow.document.body.scrollHeight;
    document.getElementById(id).height = (newheight) + 'px';
};

html是:

<iframe src="navigation.jsp" id="leftFrame" name="leftFrame" onload="autoResize('leftFrame');" frameborder="0" scrolling="auto" width="200" style="height: 100%;"></iframe>
<iframe src="" id="mainFrame" name="mainFrame" onload="autoResize('mainFrame');" frameborder="0" scrolling="no" width="200" style="height: 100%;"></iframe>

我的动态页面有一些可扩展的内容,但是当我单击展开内容页面时会隐藏其内容。(对于 mainFrame 的滚动条 =“no”)

我不想为主机启用滚动条,因为它显示了两个滚动条(即主机和浏览器滚动条) 我应该怎么做才能修复它?

4

2 回答 2

1

您可以尝试使用jQuery 的 load() 功能而不是 iframe...

<body>
    <div id="nav"></div>
    <div id="content"></div>
</body>

<script>
    $(document).ready(function(){
        $('#nav').load('path/to/navigation');
        $('#content').load('path/to/dynamic content');
    });
</script>
于 2012-09-20T14:05:14.663 回答
0

autoResize仅在加载框架时运行一次(jQuery 的 load() 也是如此)。每次框架的内容更改时,您都需要调整框架的大小。这意味着在框架中捕获调整大小事件并从那里调用autoResize父级。

于 2012-09-20T14:29:33.097 回答