在iframe中刷新页面

时间:2012-06-15 00:53:47

标签: javascript html facebook internet-explorer refresh

我有一个应用程序(Facebook画布应用程序,Facebook在iframe中显示应用程序)

当用户点击链接时,我希望能够刷新页面。

我用来刷新页面的代码如下:

window.location.reload(true);

使用firefox可以正常工作,它只刷新iframe中的当前页面。所以我很高兴。

使用IE浏览器,整个页面正在刷新,导致用户进入应用程序的开头。

我怎么能避免这种情况?

我只想刷新当前页面而不是当前网址。

apps.facebook.com/foo/

是应用程序URL,在链接的URL用户点击内转到页面,然后在该页面内我需要刷新该页面以更新一些计数器。但当我刷新整个请求时,请转到apps.facebook.com/foo/

任何想法?

5 个答案:

答案 0 :(得分:6)

var oiframe = document.getElementById('myiframe');

oiframe.contentWindow.location.reload(true);

答案 1 :(得分:5)

您可以使用window.location.href = window.location.href

答案 2 :(得分:2)

http://www.hyperorg.com/blogger/2007/03/24/refresh-an-iframe-in-ie-anyone/

中所述

HTML

<div id="wrapper"></div>

的Javascript

function reload () {
    var fr=document.getElementById('tehframe');
    if(fr!=null) document.getElementById("wrapper").removeChild(fr);
    var iframehtml="<iframe id='tehframe' src=…></iframe>";
    document.getElementById("wrapper").innerHTML=iframehtml;
}

然后只需在开始时和每次加载时调用reload()

答案 3 :(得分:0)

您可以通过向网址添加无意义的参数来更改iframe的网址并进行刷新,例如foo变为foo?bar

答案 4 :(得分:0)

您可以使用此技巧:

  <button onclick="window.parent.location = document.referrer">
    Reload
  </button>