防止浏览器在重新加载父页面时保留iframe的URL

3
我有一个包含在iframe内的表单。一旦用户保存数据,我将iframe重定向到一个页面,该页面仅重新加载主页面(因为某些其他内容取决于在iframe中插入了什么)。因此,iframe外部的数据会得到更新,表单应该再次出现。
问题是:至少在Firefox浏览器中(尚未在其他浏览器中进行测试),它会保留被重定向页面更改后的“新” iframe url而不是源代码设置的url。这类似于输入字段的自动完成。
我通过以下方式重新加载:
parent.location.reload();

有没有一种方法可以强制重新加载,而不保留包含 iframe 的历史记录中的任何信息?

顺便说一句:如果有帮助的话,我可以使用 jQuery。

谢谢。

2个回答

1
您可以尝试类似这样的内容(http://jsfiddle.net/AKykZ/):
document.querySelector('button').addEventListener('click', function() {
    document.querySelector('iframe').setAttribute('src', document.querySelector('iframe').getAttribute('src'));
    window.top.location.reload();
    return false;
}, false);

在这个fiddle中,点击iframe里的链接,然后点击重新加载按钮。听起来好像你是从iframe中重新加载,但至少这样可以让你朝着正确的方向前进。

你想要达到什么目的?它将src设置为当前src,所以不应该改变任何东西。或者我有什么遗漏吗? - Ria Weyprecht
啊,好的,我会试一下。 - Ria Weyprecht
不幸的是,这并没有解决它。当我弹出(form-url)时,src 是正确的,但当重新加载完成后,iframe 仍然加载着 reload-url。这可能是一个特性 :) - Ria Weyprecht
你可以尝试在 iframe 的 load 事件触发时进行重新加载,否则除非我决定制作自己的演示文稿,否则我就没有更多的想法了... :) - kalley
找到了,但这太荒谬了。你的答案给了我一个想法。如果我按F5并重新加载浏览器,同样的事情会发生,但如果我在地址栏中按回车键,它会正确地重新加载。所以我把我的重新加载改成了parent.location.href = parent.location.href。这太无意义了,但它确实起作用 ;) - Ria Weyprecht
显示剩余2条评论

0
找到了解决方案。这很有趣,但是通过重新加载来实现。
parent.location.href = parent.location.href;

重新加载页面,而不保留历史记录。不过,我还没有在其他浏览器上测试过。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接