我有一个应用程序(Facebook画布应用程序,Facebook在iframe中显示应用程序)
当用户点击链接时,我希望能够刷新页面。
我用来刷新页面的代码如下:
window.location.reload(true);
使用firefox可以正常工作,它只刷新iframe中的当前页面。所以我很高兴。
使用IE浏览器,整个页面正在刷新,导致用户进入应用程序的开头。
我怎么能避免这种情况?
我只想刷新当前页面而不是当前网址。
apps.facebook.com/foo/
是应用程序URL,在链接的URL用户点击内转到页面,然后在该页面内我需要刷新该页面以更新一些计数器。但当我刷新整个请求时,请转到apps.facebook.com/foo/
任何想法?
答案 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>