【问题标题】:Prevent iframe from modifying parents history防止 iframe 修改父母的历史记录
【发布时间】:2019-04-17 09:26:54
【问题描述】:

我有一个更大的 Web 应用程序(因此它有多个屏幕供用户导航)。在其中一个屏幕中,我想通过 IFrame 从不同的来源嵌入另一个页面 - 我也无法控制框架中的内容。当 IFrame 加载时,它会自动导航多次(首页 > 单点登录 > 实际内容)。

现在,当我想在父应用程序中导航回来(例如使用浏览器按钮)时,它会在 iframe 中导航回来。因此,在 iframe 内,它会导航回登录页面,然后立即重定向回“实际内容”。这让我陷入了导航损坏的问题。

有没有办法防止 iframe 中的导航影响父母的历史记录?因此,“导航返回”事件应始终使父级导航返回,而不是 iframe。

有一个相关的问题 - 不幸的是没有解决方案:Prevent navigation in iframe change parent sites history

【问题讨论】:

  • iframe 应用程序可能正在检查用户 cookie 或存储的令牌是否已登录并自行重定向。你无法控制它。 iframe 有自己的窗口,与父窗口隔离,由于同源策略,您无法访问它
  • 我不明白这与“如何防止孩子/iframe 修改父母历史记录”的问题有什么关系。我不想访问 iframe 中的任何内容(由于跨域,这确实是不可能的)
  • 您希望看到的实际行为是什么?

标签: javascript html iframe


【解决方案1】:

我也无法控制框架中的内容。

那你不能。

历史记录所有正常导航,包括内框。

您可以用来避免这种情况的技术要求您将正常导航替换为其他内容(例如location.replace() 调用)……但您必须控制进行导航的页面。

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 2015-02-05
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多