0

我想为 Outlook Web 和其他客户端开发一个 Office 365 邮件插件(阅读应用程序),我已经快速开始使用napacloudapp.com提供的示例,它可以正常工作。

但是我想托管一个已经开发的 SPA 并进行了细微的更改,我通过配置元数据文件进行了托管。

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

但是当我单击导航链接以更改哈希位置并根据更改的路线加载新内容时,它不起作用,因为请求的路线形成不正确,因为在 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>

任何人都可以帮助我吗?

在此处输入图像描述

4

2 回答 2

0

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

希望这可以帮助。

于 2015-07-10T22:08:43.117 回答
0

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

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

它将解决邮件应用 iframe 的 src 中额外的 '#' 问题,方法是将完整的 src 替换为“ https://localhost/mailApp ”。

于 2015-07-14T06:05:14.777 回答