链接和 JS 重定向,导致在 Office JS 加载项中打开一个新的 window
Links and JS redirects, cause openning a new window in Office JS add-ins
我正在开发一个 Office (Excel) 2016 加载项,用于与 Web 应用程序进行数据集成。我们正在使用 Office JS API,并且 XML 清单文件指向一个 AngularJS 网络应用程序。目前一切正常。
最近,我们决定将 OAuth2 功能添加到网络应用程序中,以便用户可以通过第 3 方授权服务器进行身份验证。
问题是,一旦我放了一个 link(<a>
标签)或 运行 一个 window.location.replace()
或设置 window.location.href
其中 指向一个URL,其主机名不同于清单文件中提到的那个,它在一个新的window中打开URL,而我想要它仅重定向到加载项 window.
中的 URL
有人知道如何解决这个问题吗?
谢谢
要在加载项 window 中打开 url,您需要在清单文件的 AppDomains 部分为该 url 的域添加一个条目.例如,此代码段显示了如何让 www.northwindtraders.com 上的链接出现在 www.contoso.com 上托管的加载项中。
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
<Id>c6890c26-5bbb-40ed-a321-37f07909a2f0</Id>
<Version>1.0</Version>
<ProviderName>Contoso, Ltd</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Northwind Traders Excel" />
<Description DefaultValue="Search Northwind Traders data from Excel"/>
<AppDomains>
<AppDomain>https://www.northwindtraders.com</AppDomain>
</AppDomains>
<DefaultSettings>
<SourceLocation DefaultValue="https://www.contoso.com/search_app/Default.aspx" />
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
</OfficeApp>
我正在开发一个 Office (Excel) 2016 加载项,用于与 Web 应用程序进行数据集成。我们正在使用 Office JS API,并且 XML 清单文件指向一个 AngularJS 网络应用程序。目前一切正常。
最近,我们决定将 OAuth2 功能添加到网络应用程序中,以便用户可以通过第 3 方授权服务器进行身份验证。
问题是,一旦我放了一个 link(<a>
标签)或 运行 一个 window.location.replace()
或设置 window.location.href
其中 指向一个URL,其主机名不同于清单文件中提到的那个,它在一个新的window中打开URL,而我想要它仅重定向到加载项 window.
有人知道如何解决这个问题吗?
谢谢
要在加载项 window 中打开 url,您需要在清单文件的 AppDomains 部分为该 url 的域添加一个条目.例如,此代码段显示了如何让 www.northwindtraders.com 上的链接出现在 www.contoso.com 上托管的加载项中。
<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
<Id>c6890c26-5bbb-40ed-a321-37f07909a2f0</Id>
<Version>1.0</Version>
<ProviderName>Contoso, Ltd</ProviderName>
<DefaultLocale>en-US</DefaultLocale>
<DisplayName DefaultValue="Northwind Traders Excel" />
<Description DefaultValue="Search Northwind Traders data from Excel"/>
<AppDomains>
<AppDomain>https://www.northwindtraders.com</AppDomain>
</AppDomains>
<DefaultSettings>
<SourceLocation DefaultValue="https://www.contoso.com/search_app/Default.aspx" />
</DefaultSettings>
<Permissions>ReadWriteDocument</Permissions>
</OfficeApp>