【发布时间】:2020-11-17 17:36:01
【问题描述】:
我正在为 Office 应用程序开发一个 JavaScript 插件,例如Word、Excel 和 PowerPoint。在某些时候,它应该会打开一个位于 SharePoint 中某处的文件。
我希望 url 立即打开正确的 Office 应用程序,为此我正在使用 Office URI 方案(请参阅https://docs.microsoft.com/en-us/office/client-developer/office-uri-schemes?redirectedfrom=MSDN)。
根据应用程序中的逻辑,我使用了两种不同的技术,当插件在 Windows 上的 Word、Excel 或 PowerPoint 中运行时,它们可以完美运行。
技巧一(普通链接)
<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文档,点击后会打开文档。
一些想法:
- 这与插件的
manifest.xml有关吗? (在不修改清单的情况下仍然可以在 Windows 上工作) - 我需要在 Mac 上启用某些功能才能使其正常工作吗? (Office URI Scheme 页面指出这些链接应该可以在 Office for Mac 2011 上使用)
非常感谢任何输入。
【问题讨论】:
-
我和你有同样的问题。我与 Office 团队 github.com/MicrosoftDocs/office-developer-client-docs/issues/… 创建了以下错误报告。
-
@TobiasThornfeldtNissen 尝试我找到的解决方法。希望这可以帮助。干杯!
标签: macos safari uri office-js