【问题标题】:How to refresh a iframe when the page changes? With AJAX?页面更改时如何刷新 iframe?使用 AJAX?
【发布时间】:2011-07-21 16:52:28
【问题描述】:

是否可以在页面更改时刷新 iframe? (iframe 中的页面 - 不是 iframe 所在的页面)我想让 iframe 显示正在开发的页面,然后每当页面更改/更新时,我希望 iframe 刷新,以便显示较新的版本。希望这是有道理的。 :P
或者使用其他东西而不是 iframe 会更好吗? iframe 现在过时了吗?

【问题讨论】:

    标签: ajax iframe refresh


    【解决方案1】:

    只是因为我觉得这很有趣……使用 jQuery:

    <iframe id="someiFrame"></iframe>
    
    <script type="text/javascript">
    var page = '/some/page/on/this/server.html', lM;
    
    function checkModified(){
       $.get(page, function(a,a,x){
          var mod = x.getResponseHeader('last-modified');
          if(lM != mod){
             lM = mod;
             $('#someiFrame').attr('src', page);
          }
       }
    }
    
    setInterval(checkModified, 5000); // every 5 seconds
    </script>
    

    这将每 5 秒轮询一次页面(非常浪费,但如果它在本地开发机器上,那又如何?)并且仅在页面更新时重新加载 iframe :)

    请注意,iFrame 必须与父页面位于同一域中。

    【讨论】:

      【解决方案2】:

      您是否有权访问正在修改的页面?如果是这样,为什么不向页面的 HEAD 添加一个刷新元标记,然后它会以您设置的任何时间间隔更新您的 iframe。以下标签会产生 5 分钟的刷新,如果您的 iframe 是跨域的,则无关紧要:

        <meta http-equiv="refresh" content="300" />
      

      【讨论】:

        猜你喜欢
        • 2013-03-20
        • 1970-01-01
        • 2012-04-09
        • 2019-05-13
        • 1970-01-01
        • 2016-09-03
        • 1970-01-01
        • 1970-01-01
        • 2014-08-22
        相关资源
        最近更新 更多