Office插件:如何识别android outlook应用中的反按?

问题描述 投票:0回答:1

我有一个office插件,我也启用了移动端。在插件中查看多个标签页后,Android的返回按钮实际上是从插件中出来的,而不是回到以前的视图。因为我没有改变每个页面的URL,所以这是预料之中的(我做了ajax)。

我收到了微软评论员的评论,问我应该以一种方式处理导航,它应该回到以前的视图。

我相信Android的返回按钮更像是一个硬件事件。那是否可以识别那个返回按钮事件呢?

任何帮助将是非常感激的。

outlook office-js office-addins outlook-web-addins
1个回答
0
投票

在加载Outlook插件后,安卓系统的后退按钮按下和在网页浏览器中按后退按钮是一样的。outlook插件运行在嵌入式的Android Webview里面,它支持的是 民间活动. 你可以为popstate事件设置一个事件监听器。

window.addEventListener('popstate', () => {
    this.onBackButtonPressed();
}, false);

popstate事件只有在历史堆栈中有项目时才会触发。所以为了确保历史记录不是空的,你可以在加载add-in时推送一个项目。

if (window.history && window.history.pushState) {
    window.history.pushState({}, '');
}

注意,Office JS API设置了 history.pushStatehistory.replaceState 函数为null (Github问题). 为了调用 pushState 在 Office JS API 加载后,你需要使用 polyfill 或 恢复pushState功能.

© www.soinside.com 2019 - 2024. All rights reserved.