Надстройки клиента Outlook: ссылки и JS перенаправляет на другой домен, открывает новую вкладку браузера - PullRequest
0 голосов
/ 14 января 2020

Мой сайт - domaina.com. когда я выполняю этот код в Microsoft Edge DevTools Preview:

location.href = domainb.com/xxx/xxx

он не может перенаправить на domainb.com на правой панели надстройки сайта, он открывает браузер по умолчанию для загрузки моих ссылок.

Я добавляю domainb.com в свой манифест, как этот:

<AppDomain>https://domainb.com</AppDomain>

, когда я выполняю код, как показано ниже:

var displayUrl = "https://domainb.com";
Office.context.ui.displayDialogAsync(displayUrl, { height: 75, width: 40 }, function(result) {
    console.log('displayDialogAsync: ');
    console.log(result);
});

Edge DevTools будет регистрировать журнал результат ошибки, как показано ниже:

[object Object]: {error: Object, status: "failed", value: undefined}

error: Object
code: 12004
message: "The domain of the URL is not included in the AppDomains element in the manifest, and is not subdomain of source location."
name: "Display Dialog Error"

__proto__: Object
status: "failed"
value: undefined

__proto__: Object

Но на самом деле я добавил domainb.com к моему манифесту:

<AppDomains>
<AppDomain>https://domainb.com</AppDomain>
<AppDomains>

Но это бесполезно для

Window 10 1903 Verison OS build: 18362.535
Outlook client: Verison 1911 (Build 12228.20364 Click-to-Run) MSO (16.0.12228.20322) 64Bit.

Я думаю, что это было вызвано двигателем Edge. https://docs.microsoft.com/en-us/office/dev/add-ins/concepts/browsers-used-by-office-web-add-ins

Для более подробной информации: https://github.com/OfficeDev/office-js/issues/917

1 Ответ

2 голосов
/ 14 января 2020

IIR C когда вы открываете диалог с помощью displayDialogAsync, передаваемый вами URL должен быть на локальном хосте (например, https://localhost:3000/dialog.html), оттуда вы можете перенаправить на любой сайт, который вы добавили к <AppDomains>

<!-- dialog.html -->
...
<script>
Office.initialize = () => {
  window.location.href = 'https://url_included_in_app_domains' // domainb.com/xxx/xxx
}
...
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...