如何仅在点击按钮时加载<iframes>?</iframes>

时间:2012-08-24 02:27:19

标签: jquery iframe

友 我的问题是我的页面加载速度很慢,因为所有的加载都是愚蠢的。我正在拉RSS源,如果你点击“文章”按钮,它会弹出一个包含它的内部的模态。问题是所有的s都是勉强的。

这是网站: http://daisy.camorada.com/

我已尝试插入src,但这不起作用,因为我猜iframe在页面打开时加载。

<button class='btn btn-primary' id='miguel'>TEST ME NOW</button>
        <button class='btn btn-primary' id='jamison'>jamison</button>
        <div id="yoyoyo">
            </div>
            <iframe id="gogo">
                </iframe>

<script>
        $('#miguel').on('click', function() {
            alert('clicked');           
            $('#gogogo').attr('href', 'http://www.google.com');

        });
    </script>
    <script>
        $('#jamison').on('click', function() {
            alert('clicked JAMISON');       
            $("#yoyoyo").html("<h1>HELLO J</h1><br><iframe class='full-iframe' href='http://news.yahoo.com/three-killed-tribal-clash-libya-001717827.html'></iframe>");

        });

    </script>

3 个答案:

答案 0 :(得分:30)

HTML:

<iframe id="myiFrame" data-src="http://my.url" src="about:blank">
</iframe>

在你的jQuery中:

$("button").click(function(){
    var iframe = $("#myiFrame");
    iframe.attr("src", iframe.data("src")); 
});

或者,如果您想在单击一个按钮时加载所有iframe ...确保它们都具有data-src="your.url"属性,然后像这样循环:

$("button").click(function(){
    $("iframe").each(function(){
        $(this).attr("src", $(this).data("src"));
    });
});

答案 1 :(得分:6)

首先,您没有元素$('#gogogo')。框架为#gogo

其次,将其设为src而不是href

$("#myframe").attr('src', 'http://site.com');

如果您只想将其设置为某些HTML而不是网址,请使用以下命令:

$("#myframe").contents().find('html').html("hello");

Here's a demo

答案 2 :(得分:1)

<a href="http://example.com" target="myiFrame">Click me!</a>
<iframe name="myiFrame" src="about:blank">

不需要JavaScript。