1

我尝试获取 iframe 中元素的高度,并且 iframe 位于带有 display: none 的 div 中。我需要 iframe 中文档的高度,而不是外部。因此,您不必考虑安全约束。

编辑:这是一个演示问题的小小提琴:http: //jsfiddle.net/bv5JH/1/。控制台将记录0。而且我无法将 div#myelement (或它的副本)附加到一些可见元素(以便将其渲染并且我可以像下面的“解决方案”一样获得高度)。

我找到了一些解决方案,例如:

var copied_elem = $("#myelement").clone()
                      .attr("id", false)
                      .css({visibility:"hidden", display:"block", 
                               position:"absolute"});
    $("body").append(copied_elem);
    var height = copied_elem.height();
    var width = copied_elem.width();
    copied_elem.remove();

如果元素本身是 display:none,这将起作用。但是我在 iframe 中根本没有任何显示的元素,所以我不能将它附加到显示的元素上。

知道如何获得高度吗?

4

2 回答 2

0

二人组我没有足够的声誉来承诺。所以我在这里说。改变 iframe 的位置是个好主意,是的。

图像打击是我的代码,它是一个标签。

<div class="table census-table">
   <div class="census-table-list">
       <iframe src="census-baseData-iframe.php" frameborder="0" scrolling="no" width="950" 1height="590" style=""></iframe>
       <iframe src="census-activeUser-iframe.php" frameborder="0" scrolling="no" width="950"  1height="590" style="display: none;"></iframe>
       <iframe src="census-userKeep-iframe.php" frameborder="0" scrolling="no" width="950" 1height="590" style="display: none;"></iframe>
       iframe src="census-userPay-iframe.php" frameborder="0" scrolling="no" width="950" 1height="590" style="display: none;"></iframe>
   </div>
</div>
于 2014-03-04T03:59:07.560 回答
0

由于您似乎在 IFRAME 和您的内容之间设置了交互,因此将其应用于 IFRAME 本身应该不难:

position: absolute;
display: block;
top: -999999;
left: -999999;

然后,您应该能够在 IFRAME 中获取元素的尺寸,一旦获得,通过重置这些样式将 IFRAME 返回到其原始位置。

于 2013-09-25T14:52:47.450 回答