【问题标题】:Is there a way to handle browser back events in an Outlook web-addin?有没有办法在 Outlook Web 插件中处理浏览器返回事件?
【发布时间】: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


    【解决方案1】:

    目前,您请求的有关用户单击浏览器后退按钮的通知的功能插件不是产品的一部分。我们在user-voice 页面上跟踪 Outlook 加载项功能请求。请在此处添加您的请求。我们在规划过程中会考虑用户语音的功能请求。

    【讨论】:

    • 谢谢。这是否也适用于 Android 后退按钮按下,或者是否有其他方法可以检测支持移动设备的加载项的 Android 后退事件?
    • 我们使用 Android WebView 来显示加载项和popstate event is supported
    猜你喜欢
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    相关资源
    最近更新 更多