iFrame元素不能在容器内调整大小的问题


Issue with iFrame Element not re-sizing within container

我正在做一个小的VA项目,我正试图从另一个网站拉统计数据。唯一的方法,我已经能够找到如何做到这一点,是通过使用iFrame剪辑函数。

网址:NWGlobalVA.com

现在我遇到的问题是,如果你去主页面并以任何方式重新调整浏览器的大小,它会推到地图元素后面。我已经尽了我所有的知识和研究来使它与容器一起调整大小。

下面是我使用iFrame和CSS进行剪辑的代码。任何帮助将更加感激,然后你会理解。我已经试着这么做了好几天了。理想情况下,我宁愿每15分钟获得一次信息,并将其传递到我的数据库。然而,在网站上没有一个表是定义的,我知道如何去做。

<style>   
.iframeb {   
    position: absolute;   
    left:-384px;   
    right:0px;   
    top: -145px;   
    clip: rect(190px, 625px, 350px, 400px);   
}</style> 

<iframe width="890" height="1900" src="http://fscloud-infotool.de/index.php?page=vasystem&subpage=vadetails&id=10277" class="iframeb" scrolling="no" frameborder="0"></iframe>

我处理iframe大小的方法是使用javascript (jquery):

我通过取宽度/高度来计算原始iframe长宽比。所以在你的情况下:890/1900。

<script>
function size_iFrame()
{
    // If the width and height of the iframe are set 
    // as attributes (<iframe width='890' height='1900'>), 
    // you can have the js calculate it for you.
    // aspect= $('iframe').attr('width') / $('iframe').attr('height');
    aspect= 0.47; 
    $('iframe').css('width', '100%');
    $('iframe').css('height', $('iframe').width() / aspect);
}
$(document).ready(function()
{
    size_iFrame();
    $(window).resize(function()
    {
        size_iFrame();
    });
}
</script>

这将使iframe适合其容器的宽度,并使其具有与最初相同的长宽比。

编辑:为了回答你的问题,我会从ready回调和设置和窗口调整大小回调中调用它,以便每次屏幕大小更改时调用。我编辑了上面的代码来显示这个

Edit2:正如@ mug指出的,你还需要删除你的iframe css样式为我的方法工作。

在响应式设计中,我在CSS中为iframe指定了一个容器大小。例如,

CSS


.iframe_container {
显示:内联;
浮:左;
宽度:89%;//任意你想要的宽度}

你将需要消除你的。iframeb绝对,右,左位置,因为容器会照顾这一切,除非你是在谈论地图顶部的"列表"参数,我会尝试使用@media根据屏幕大小安排干净的列表。