Невозможно открыть диалог с кнопкой ленты
У нас есть веб-надстройка Outlook с кнопкой ленты, определенной в манифесте.
<Control xsi:type="Button" id="msgComposeSettingsButton">
<Label resid="funcComposeButtonLabel2" />
<Supertip>
<Title resid="funcComposeSuperTipTitle2" />
<Description resid="funcComposeSuperTipDescription2" />
</Supertip>
<Icon>
<bt:Image size="16" resid="settings-16" />
<bt:Image size="32" resid="settings-32" />
<bt:Image size="80" resid="settings-80" />
</Icon>
<Action xsi:type="ExecuteFunction">
<FunctionName>loadSettings</FunctionName>
</Action>
</Control>
Функция loadSettings определена в файле функций, который также определен в манифесте. Функция loadSettings вызывает метод displayDialogAsync из Office Api.
Office.context.ui.displayDialogAsync(
options.url,
options.dialogOptions,
function (asyncResult) {
if (asyncResult.status === Office.AsyncResultStatus.Failed) {
let errorMessage = null;
log('ERROR', asyncResult.error);
// In addition to general system errors, there are 3 specific errors for
// displayDialogAsync that you can handle individually.
switch (asyncResult.error.code) {
case 12004:
errorMessage = 'Domain is not trusted';
break;
case 12005:
errorMessage = 'HTTPS is required';
break;
case 12007:
errorMessage = 'A dialog is already opened.';
break;
default:
errorMessage = asyncResult.error.message;
break;
}
log('ERROR', errorMessage);
}
else {
_dialog = asyncResult.value;
_dialog.addEventHandler(Office.EventType.DialogMessageReceived, handleDialogMessageEvent);
_dialog.addEventHandler(Office.EventType.DialogEventReceived, eventReceivedHandler);
}
}
);
Диалоговое окно хорошо отображается и открывается на всех протестированных платформах (Outlook для Windows и OWA (IE, Firefox, Chrome)), за исключением нескольких избранных в Outlook для Mac. Почему диалоговое окно работает так, как и ожидалось, для большинства в Outlook для Mac, а не для избранных?