谁能帮我开发 Office 365 插件 for outlook(网络应用程序和桌面) Read app with SPA

Can anyone help me in developing Office 365 addin for outlook(web app & desktop) Read app with SPA

我想为 Outlook Web 和其他客户端开发一个 Office 365 邮件加载项(阅读应用程序),我已经使用 napacloudapp.com 提供的示例进行了快速入门,它按预期工作正常。

但我想托管一个已开发的 SPA,并稍作改动,我通过配置元数据文件进行了托管。

据我所知,所有可用的 SPA 模板都使用一些路由插件,负责更改路由&应用程序将根据 url 中可用的路由加载视图(默认情况下在 url)

但是当我单击导航 link 以更改哈希位置并根据更改后的路线加载新内容时,它不起作用,因为请求的路线形成不正确,因为在 outlook web 应用程序中,我们的应用程序在 iframe 下加载并且 iframe src 包含 url 中的 #,这会导致错误的 url 格式。 outlook web app中呈现的iframe如下

<iframe id="ocii1" width="100%" height="100%" frameborder="0" title="App for Office" sandbox="allow-scripts allow-forms allow-same-origin ms-allow-popups allow-popups" name="_xdm_0__ocii141675079_65831848_1436538340692" src="https://localhost:44301/Index.html?et=&amp;_host_Info=Outlook|Web|16.00#&amp;_xdm_Info=52741ef1_5cb5874_1436538340692|ocii1|https://outlook.office365.com/owa/?realm=mycompany.com#path=/mail"></iframe>

谁能帮我解决这个问题?

不建议在 Office 加载项中使用 iframe。使用 html/css/js 在 Office 加载项项目中填充标准 Web 应用程序内容。

希望对您有所帮助。

终于找到了一个解决方法,创建一个中间页面并将其配置为元数据中的启动页面,然后导航到目标位置。将以下代码添加到中间页面。

Office.initialize = function (reason) {
    $(document).ready(function () {
        location.href = "https://localhost/mailApp";
    });
};

它将通过将完整的 src 替换为“https://localhost/mailApp”来解决邮件应用程序 iframe 的 src 中额外的“#”问题。