Excel Javascript API在redirect到不同的域页面后不可用

我有一个使用Excel JavaScript API实现的Excel任务窗格加载项。 它代表了我们在Excel中的应用程序function的一个子集。 计划是在Office商店中发布。 我们的每个客户都有自己的生产环境,在独立的域名托pipe我们的应用 由于我只能在加载项清单文件中定义一个SourceLocation元素,但是有许多应用程序实例的插件应该能够访问,所以我实现了一个简单的ASP.NET MVC网页,托pipe在Windows Azure中,用户提示input他的公司名称和凭证。 然后,我根据用户input构build一个URL,并redirect到我们的应用程序所在的域。 redirect后,客户的加载项显示正确,但Excel API不可用。 Office.initialize被触发,但是Office.context.requirements设置为空,并且Excel对象未定义。 我也试过iframe,但没有任何帮助。 在清单文件中指定的ASP.NET网页上加载Excel API。 它似乎只在redirect后消失。 有谁熟悉这样的问题,可以在Office加载项中进行redirect?

你有没有在清单文件中设置应用程序域? 直接在OfficeApp元素下添加这样的内容应该允许您redirect到该域下的任何页面,并仍然可以访问Excel对象。 (这个设置为localhost因为我还在开发我的加载项。)

<AppDomains> <AppDomain>http://localhost</AppDomain> </AppDomains>

最后我解决了这个问题。 URL参数_host_Info必须从一个页面传递到另一个页面。 此参数由Excel在加载项启动时设置,但是如果在不传递它的情况下进行redirect,则网页无法检测到它驻留的位置,因此不会加载Excel API。 有关主机信息的更多信息,请访问: http : //simonjaeger.com/where-am-i-detecting-the-office-host-in-office-add-ins/