首页 > 解决方案 > 在 Mac/Safari 上的 Office.js 中打开 Office URI 方案 URL 时出现问题

问题描述

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

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

根据应用程序中的逻辑,我使用了两种不同的技术,当插件在 Windows 上的 Word、Excel 或 PowerPoint 中运行时,它们可以完美运行。

技术1(正常链接)

<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 桌面上运行插件时,绝对没有任何反应。我已经调试了插件,使用“检查元素”打开控制台,但没有错误或任何东西。在我看来,Mac 上的内部浏览器默默地拒绝打开链接。

但是,如果您将链接粘贴到例如 Word 文档中,则单击它会打开该文档。

一些想法:

非常感谢任何输入。

标签: macossafariurioffice-js

解决方案


我发现了一种在 Mac 上也可以使用的解决方法,方法是使用window.open(url).


推荐阅读