【发布时间】:2023-03-04 17:02:01
【问题描述】:
我正在使用 React 和 TypeScript 开发 Outlook Web 插件。该加载项是一个单页应用程序,并有自己的按钮用于向后和向前导航。它在 Outlook 中作为任务窗格加载。当前的行为是,当用户在加载任务窗格时单击浏览器后退按钮时,它只会关闭。
我想要实现的是加载项侦听浏览器中的后退按钮单击并相应地处理它,即通过在任务窗格中导航而不是关闭它。
我尝试在 React 组件中监听 'popstate' 事件:
public componentDidMount() {
window.addEventListener('popstate', () => {
console.log("Back button clicked.");
this.props.onBackButtonClicked();
});
}
这种方法的问题是“popstate”事件永远不会触发,因为任务窗格加载项托管在 iframe 中。我无法控制 iframe 本身,因为所有 Outlook 网络插件都托管在 iframe 中。我也无法访问 iframe 的父窗口,因为它位于不同的域中。
Outlook Web 加载项是否可以在用户单击浏览器后退按钮时收到通知?
【问题讨论】:
标签: reactjs outlook office-js outlook-addin office-addins