防止浏览器在重新加载父级时保留iframe url

Prevent browser from keeping iframe url when reloading the parent

本文关键字:保留 url iframe 加载 浏览器 新加载      更新时间:2023-09-26

我在iframe中有一个表单。一旦用户保存了数据,我就会将iframe重定向到一个只需重新加载主页面的页面(因为其他一些内容取决于iframe中插入的内容)。因此,iframe之外的数据会更新,表单应该会再次出现。

问题是:至少firefox(还没有在其他浏览器中测试过)保留了iframe的"新"url和重定向页面,而不是源代码设置的url。类似于输入字段的自动补全。

我通过进行重新加载

parent.location.reload();

有没有一种方法可以在不保留包含iframe的历史记录中的任何信息的情况下强制进行真正的重新加载?

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

谢谢。

您可以尝试以下方法(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重新加载,但这至少会让你走上正轨。

找到了解决方案。这很有趣,但通过进行重新加载

parent.location.href = parent.location.href;

在不保留历史记录的情况下重新加载页面。但还没有在其他浏览器中测试过。