macos - 在 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 文档中,则单击它会打开该文档。
一些想法:
- 这与
manifest.xml
插件有关吗?(在不修改清单的情况下仍然可以在 Windows 上工作) - 我需要在 Mac 上启用某些功能才能使其正常工作吗?(Office URI Scheme 页面指出这些链接应该在 Office for Mac 2011 上工作)
非常感谢任何输入。
解决方案
我发现了一种在 Mac 上也可以使用的解决方法,方法是使用window.open(url)
.
推荐阅读
- kubernetes - 缩放 pod 内的特定容器
- c - 如何读取随机存取文件?
- python - 无效的语法:Python 初学者,我的第一个代码
- javascript - Javascript:使用类表达式向原型添加属性
- android - MediaRecorder Android 录制 Wav 或 Mp3
- python - 如何在Python中读取压缩文件夹中的文件夹中的文件
- python - 在独立程序中使用文件
- three.js - 在平面threejs上为各个顶点着色
- javascript - 在 javascript 中设置时,svg 文本实体被转义
- javascript - 如何确保我的 if 函数在我的数据推送到数据库之前运行?