我有一个应用程序(名为B),它由另一个主要应用程序(称为A或父级)通过Iframe嵌入。
So: App A-- // domain of A: https://mydomain/mainApp
|___ App B in Iframe // domain in B: https://mydomain/appB
问题是: 主/父应用程序有一个导航菜单。其中一个项目在被点击时,创建了一个使用SRC属性加载App B的Iframe。
当用户在应用程序A的菜单中点击另一个选项时,Iframe被销毁,React中的另一个内容视图出现,替换了Iframe。
这样做时,用户在B中键入的所有表单数据都会丢失,因为我无法触发B中的保存事件。
我已经在iframe应用程序中添加了以下事件处理程序:
window.addEventListener("beforeunload", function (e) {
// Trigger here the save settigns event inside B
});
但是,当用户通过主应用程序菜单导航时,以前的代码永远不会触发。据我所见,在应用程序A中导航菜单会更改浏览器中的URL(但似乎是SPA React.js路由或类似的东西,没有真正的重定向)。
问题是:Iframe能否检测到即将被卸载/销毁以先触发Ajax中的保存设置?附言:我没有访问应用A的代码。
提前致谢