我想为outlook web& amp;开发一个办公室365邮件加载项(阅读应用程序)。其他客户,我已经快速开始提供napacloudapp.com提供的样本,这可以正常工作。
但我想主持一个已经开发的SPA,稍加修改,我通过配置元数据文件来管理。
据我所知,所有可用的SPA模板都使用了一些路由插件,负责更改路由& app将根据url中可用的路由加载视图(默认情况下,在url中后跟'#'字符)
但是,当我点击导航链接来更改哈希位置&根据更改的路线加载新内容,它不起作用,因为请求的路线形成不正确,因为在Outlook网络应用程序中,我们的应用程序正在加载iframe& iframe src在url中包含#,导致错误的url形成。在Outlook网络应用程序中呈现的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=&_host_Info=Outlook|Web|16.00#&_xdm_Info=52741ef1_5cb5874_1436538340692|ocii1|https://outlook.office365.com/owa/?realm=mycompany.com#path=/mail"></iframe>
有人可以帮助我吗?
答案 0 :(得分:0)
不建议在办公室加载项中使用iframe。使用html / css / js填充办公室加载项目中的标准Web应用程序内容。
希望这会有所帮助。
答案 1 :(得分:0)
最后找到了解决方法,创建了一个中间页面&amp;将其配置为元数据中的启动页面&amp;而不是导航到目标位置。将以下代码添加到中间页面。
Office.initialize = function (reason) {
$(document).ready(function () {
location.href = "https://localhost/mailApp";
});
};
它将解决额外的#&#39;#&#39;在邮件应用iframe的src中出现问题,将完整的src替换为&#34; https://localhost/mailApp&#34;。