我正在使用Office加载项,并且需要能够判断文档是否已加载到标准Office软件或Office365 Online中。
我已查看docs但无法找到任何内容。
在office.js中,有一个枚举看起来好像应该在某个地方使用,但我无法告诉我们该类型的属性/事件通知我们。我还在Office对象上放了一个断点,看不到任何东西。
Microsoft.Office.WebExtension.ApplicationMode={
WebEditor: "webEditor",
WebViewer: "webViewer",
Client: "client"
};
有人知道怎么做吗?
答案 0 :(得分:1)
作为参考,在Outlook中,您可以使用它来区分OWA或桌面或Mac Outlook:
https://dev.outlook.com/reference/add-ins/Office.context.mailbox.diagnostics.html
答案 1 :(得分:1)
我知道这个问题很久以前就有人问过了,但我也在寻找这个问题,然后偶然发现了 Office.context
对象,它为我提供了我需要的有关托管平台的所有信息Office 插件。
要遵循的一些示例...
Office.context
调用 Desktop
:{
contentLanguage: "en-US"
diagnostics: {
host: "Outlook",
version: "16.47.314.0",
platform: "Mac"
},
displayLanguage: "en-US",
host: "Outlook",
isDialog: false,
platform: "Mac"
}
Office.context
调用 Web
:{
contentLanguage: "",
diagnostics: {
host: "Outlook",
platform: "OfficeOnline",
version: "0.0.0.0"
},
displayLanguage: "en-US",
host: "Outlook",
isDialog: false,
platform: "OfficeOnline"
}
因此,在您的情况下,查看 platform
值可能是最有用的,您可以了解是否正在通过网络、移动设备、桌面等访问此插件。
所有可能的 platform
值都可以在这里找到:https://docs.microsoft.com/en-us/javascript/api/office/office.platformtype?view=excel-js-preview
可以在此处找到 Office.context
Interface 的文档:https://docs.microsoft.com/en-us/javascript/api/office/office.context?view=excel-js-preview#platform
答案 2 :(得分:0)
搜索相同的内容,但在我的情况下,对于Word而不是Outlook,我只是发现了这段代码
showNotification("url is: " + Office.context.document.url);
在我的情况下,给出类似这样的URL
url is: https://<corp portal name>-my.sharepoint.com/personal/<my name>/Documents/Document15.docx
数字15是由于我目前在我的OneDrive for Business文件夹中最多有15个已命名的文档(这些文件最终会在这些文件中出现)
在本地客户端版本的Word 网址为空。