页面加载后加载iFrame

时间:2012-04-30 08:45:20

标签: javascript iframe html load

我有一个包含一些iFrame的PHP页面,导致页面加载速度相当慢。一旦页面完全加载,我该如何才能加载那些iFrame?我假设我需要使用JavaScript,但我还没有找到有效的代码。

非常感谢。

编辑 - iFrame需要出现在PHP回声中。

以下是代码:

<?php
            while($i = mysql_fetch_array($e))
            {
        ?>

    <div class='dhtmlgoodies_question'>
        <div style='float:left'><img src='../images/categories/<?=$i[Category]?>.png'></div>
        <div class='name'><?=$i[Name]?></div>
        <div class='location'><?=$i[Area]?></div>
    </div>

    <div class='dhtmlgoodies_answer'>
    <div>

        <div style='background-color:#FFF; margin-left:248px; padding:10px; color:#666'>
        <?=$i[Address]?><br>
        <?=$i[Area]?><br>
        <a href='http://maps.google.com/maps?q=<?=$i[Postcode]?>'><?=$i[Postcode]?></a><
        <p>
        <?=$i[ContactName]?><br>
        <?=$i[TelephoneNumber]?>
        </div>
        <p>
        <a href='http://crbase.phil-howell.com/view.php?Employer=<?=$i[Employer]?>'>
        Edit this entry
        </a>
        <br>

    //HERE IS WHERE I WANT TO LOAD THE iFRAME


    </p>
        </div>

    </div>
</div>
        <?php
            }
        ?>

3 个答案:

答案 0 :(得分:5)

尝试在身体末端添加:


window.onload = function() {
    var iframe = document.createElement('iframe');
    iframe.style.display = "none";
    iframe.src = your_iframe_source_url;
    document.body.appendChild(iframe);
};

答案 1 :(得分:5)

正如@Sudhir和@Richard所示,你可以通过延迟iframe内容的加载来解决这个问题,它只需要一些javascript行。

但是,有时将iframe元素放入源代码中更方便,而不是在运行时创建元素。好吧,您也可以通过最初创建指向iframe的{​​{1}}元素并在运行时更改其源来实现它:

about:blank

为@PhilHowell编辑:我希望这个想法现在更加清晰。

答案 2 :(得分:2)

如果您愿意,可以在页面加载后加载您的iframe:

我在这里使用jquery来简化:

$(function() {

   $('<iframe />').attr('src', 'http://www.google.com').appendTo('#yourelementId'); 

});

在此处查看更多信息:

http://jquery-howto.blogspot.co.uk/2010/02/dynamically-create-iframe-with-jquery.html

JS Iframe loader

所以对于PHP Echo:

<?php

  echo "<div id='yourelementId'></div><script>$(function() { $('<iframe />').attr('src', 'http://www.google.com').appendTo('#yourelementId');});</script>"; 

?>

哦,确保你已经链接了jQuery或者使用了Sudhir提供的代码。