刷新iframe而不刷新整个页面

时间:2014-02-21 14:29:54

标签: javascript jquery iframe refresh reload

我有一个iframe,我想在不进行整页刷新的情况下自动刷新自己。我更喜欢使用javascript或jquery。这是我一直尝试失败的原因。

<div class="Widget"><!--DARK SKY-->
    <div class="WidgetHeader">
        <img src = "images/WidgetHeaders/DarkSky.png"></div>
    <div id="DarkSky" style="width: auto; height: 245px; padding: 5px; background-color: hsla(0,0%,100%,.9);">
        <iframe id="forecast_embed" type="text/html" frameborder="0" height="245" width="100%" src="http://forecast.io/embed/#lat=38.269571&lon=-85.487420&name=Louisville&units=us&color=#4c7cba"> </iframe>
    </div>   
</div>

<script type = "text/javascript">
    window.onload = function() {   
        setInterval(function refreshDarkSky() {  
            document.getElementById("#forecast_embed").src ="http://forecast.io/embed/#lat=38.269571&lon=-85.487420&name=Louisville&units=us&color=#4c7cba"
        }, 90000);
    } 
</script>

4 个答案:

答案 0 :(得分:1)

如果iframe不是来自不同的域,您可以使用:

document.getElementById('forecast_embed').contentDocument.location.reload(true);

用于跨域,

var iframe = document.getElementById('forecast_embed');
iframe.src = iframe.src;

答案 1 :(得分:1)

试试这段代码

$(document).ready(function () {
            setInterval(function refreshDarkSky() {
                $("#forecast_embed").attr("src","http://forecast.io/embed/#lat=38.269571&lon=-85.487420&name=Louisville&units=us&color=#4c7cba"); 
            }, 90000);
        });

答案 2 :(得分:0)

使用此:

$('#forecast_embed',window.parent.document).attr('src',
             $('#forecast_embed',window.parent.document).attr('src'));

它必须解开你的问题。

答案 3 :(得分:-1)

试试这个

window.top.location.reload();