在 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文档,点击打开文档
一些想法:
- 这与插件的
manifest.xml
相关吗? (仍然适用于 windows,无需修改清单)
- 我需要在 Mac 上启用某些功能才能正常工作吗? (Office URI 方案页面声明这些 links 应该在 Mac 2011 的 Office 上工作)
非常感谢任何意见。
我找到了一种适用于 Mac 的解决方法,方法是使用 window.open(url)
。
我正在为 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文档,点击打开文档
一些想法:
- 这与插件的
manifest.xml
相关吗? (仍然适用于 windows,无需修改清单) - 我需要在 Mac 上启用某些功能才能正常工作吗? (Office URI 方案页面声明这些 links 应该在 Mac 2011 的 Office 上工作)
非常感谢任何意见。
我找到了一种适用于 Mac 的解决方法,方法是使用 window.open(url)
。