Firefox 在页面刷新时重新发布到 iframe
Posted
技术标签:
【中文标题】Firefox 在页面刷新时重新发布到 iframe【英文标题】:Firefox re-posts to iframe on refresh of page 【发布时间】:2011-07-02 03:39:22 【问题描述】:我正在发布到 iframe。在 Firefox 中,如果用户在 POST 之后刷新页面,浏览器会再次尝试 POST(导致出现重新发布确认)。
这只发生在 Firefox 中(我测试过 Chrome、Safari、IE8 和 7)。
我尝试在卸载时删除 iframe,并在每次页面加载时始终重新创建 iframe(使用唯一的 ID/名称)。但 Firefox 坚持 POST。
有人知道吗?
【问题讨论】:
【参考方案1】:我有同样的问题,我发现 Firefox 加载删除了下一个 iframe 中的 iframe 位置,我把它作为最后一个 iframe 放在正文中,这样后面就没有 iframe!
为您的 iframe 设置名称并将此方法称为 body 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)。
【讨论】:
【参考方案2】:当您刷新时,Firefox 会尝试刷新所有框架中的当前页面,而不是将它们设置回原来的页面。
一旦你发布到框架中,你能不能不将另一个文档加载到框架中,从而替换发布的文档?或者也许只在需要发布到框架时才创建框架。
【讨论】:
以上是关于Firefox 在页面刷新时重新发布到 iframe的主要内容,如果未能解决你的问题,请参考以下文章