如何区分O365和Outlook之间的UI控件?

时间:2018-05-22 23:43:53

标签: outlook-addin office-js

如何为Office 365(在线)和Outlook(计算机上的本机)之间的相同加载项定义不同的UI控件和文本?

例如,在Office 365在线上,我们希望加载项按钮位于新按钮组中的Outlook上。

如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

@Michael Heuberger目前,无法为Outlook Web App和本机Outlook桌面客户端之间的相同加载项定义不同的UI控件和文本(标签)。请向我们的UserVoice页面提交功能请求:https://officespdev.uservoice.com/

答案 1 :(得分:-1)

您的加载项中可以有两个不同的视图 - 一个用于Web,一个用于桌面。为此,定义了以下jQuery函数:

function detectPlatform(platform) {
   if (platform == "OfficeOnline") {
      $('#WebView').removeClass('display-none').addClass('display-block');
      $('#DesktopView').removeClass('display-block').addClass('display-none');
   }
   else {
      $('#DesktopView').removeClass('display-none').addClass('display-block');
      $('#WebView').removeClass('display-block').addClass('display-none');
   }
}

并在$(document).ready的{​​{1}}内拨打,如:Office.initialize

在您的HTML中,您可以拥有2个具有不同UI元素的div容器:

detectPlatform(Office.context.platform);

显然,您还必须定义使用过的CSS类(<div id="WebView">Web UI</div> <div id="DesktopView">Desktop UI</div> display:none)。如果您不想使用jQuery,那么您当然可以使用纯JS实现相同的目标。