2011-02-22 53 views
1

我发布到iframe。在Firefox中,如果用户在POST后刷新页面,则浏览器会尝试再次POST(导致重新发布确认出现)。Firefox在刷新页面时重新发布到iframe

这只发生在Firefox(我测试过Chrome,Safari,IE8 & 7)。

我已经尝试删除卸载时的iframe,并且每次页面加载时都会重新创建iframe(使用唯一的id /名称)。但Firefox坚持POSTing。

任何人都有线索?

回答

1

刷新时,Firefox会尝试刷新所有框架中的当前页面,而不是将它们设置回其原始页面。

一旦你已经发布到框架,你不能再加载另一个文档到框架中,从而替换发布的文档?或者,也许只有在需要发布时才能创建框架。

1

我有同样的问题,我发现Firefox加载删除iframe在下一个iframe中的位置,我把它作为最后一个iframe在body中,以便它后面没有iframe!为您的I帧

集名称和调用此方法作为身体的onload检查您的iframe地点:

function debugframes() { 
    if(confirm("Show " + window.frames.length + " iframes?")){ 
     for(var f = 0; f < window.frames.length; f++){ 
      alert(window.frames[f].name + "/" + window.frames[f].location); 
     } 
    } 
} 

我仍然希望找到一个更好的办法来解决这个问题,如果我发现,我将发布。

编辑:您也可以在重新加载页面之前执行document.getElementById("iframe-id").src = "";(不删除iframe)。