在 Mac/Safari Office.js 中打开 Office URI Scheme url 时出现问题

Problem opening Office URI Scheme urls in Office.js on Mac/Safari

我正在为 Office 应用程序开发 JavaScript 插件,例如Word、Excel 和 PowerPoint。在某些时候,它应该打开位于 SharePoint 中某处的文件。

我希望 url 立即打开正确的 Office 应用程序,为此我正在使用 Office URI 方案(请参阅 https://docs.microsoft.com/en-us/office/client-developer/office-uri-schemes?redirectedfrom=MSDN)。

根据应用程序中的逻辑,我使用了两种不同的技术,当加载项在 Word 中为 运行、在 Excel 或 PowerPoint 中为 Windows 时,它们可以完美地工作。

技巧一(正常link)

<a href="ms-word:ofe|u|https://foo.sharepoint.com/path/to/file.docx">Open Me!</a>

技术 2(程序化)

// Js pseudo code
button.onclick = () => {
   window.location = 'ms-word:ofe|u|https://foo.sharepoint.com/path/to/file.docx'
}

正如我提到的,这两种技术在 Windows 上都能完美运行。但是当 运行 插件在例如Mac 上的 Word 桌面,完全没有任何反应。我已经通过使用“Inspect Element”打开控制台调试了插件,但没有任何错误。在我看来,Mac 上的内部浏览器默默地拒绝打开 link。

但是,如果您将 link 粘贴到例如word文档,点击打开文档

一些想法:

非常感谢任何意见。

我找到了一种适用于 Mac 的解决方法,方法是使用 window.open(url)