0

我正在尝试使用动态异步 iFrame方法,但我的代码不起作用,我对自己做错了什么感到困惑。iFrame 本身正在加载,但未显示预期的网页。明白我的意思

这是我的代码。我究竟做错了什么?

<script>
    (function(d){
        var iframe = d.body.appendChild(d.createElement('iframe')),
            doc = iframe.contentWindow.document;

        // style the iframe with some CSS
        iframe.style.cssText = "width:900px;height:600px;";

        doc.open().write('<body onload="' + 
            'var d = document;d.getElementsByTagName(\'head\')[0].' + 
            'appendChild(d.createElement(\'script\')).src' + 
            '=\'http://www.uab.edu/dining/locations\'">');

        doc.close(); //iframe onload event happens

    })(document);
</script>

编辑:解决方案代码

<%= javascript_tag do %>
        $(window).load( function(){
            window.map = '<%= j @college.map.html_safe %>';
            window.street_view = '<%= j @college.street_view.html_safe %>';
            window.food = '<%= j @college.food.html_safe %>';
            window.housing = '<%= j @college.housing.html_safe %>';
            window.weather = '<%= j @college.weather.html_safe %>';
            $('#map').html(map);
            $('#street_view').html(street_view);
            $('#food_iframe').html(food);
            $('#housing_iframe').html(housing);
            $('#weather_section').html(weather);
        });
    <% end %>
4

1 回答 1

1

当 Dom 准备好时,试试这个 jquery 来加载 iframe

$(document).ready( function(){
   $('#placeholder').html('<iframe src=""></iframe>');
})

假设您有一些 ID=placeholder..

或者当全部加载(包括图像)

$(window).load( function(){
   $('#placeholder').html('<iframe src=""></iframe>');
}) 
于 2013-09-10T04:35:31.040 回答