Не могли бы вы использовать помощник Dialog в OfficeHelpers.js. Он включен в v0.5.0, расположенный здесь (https://unpkg.com/@microsoft/[email protected]/dist/office.helpers.js).
Помощник диалога позволяет указать ширину и высоту в пикселях в противоположность процентам, и мы внутренне вычислим процент и сделаем вызов DialogAPI.
В настоящий момент он должен обнаружить доступное пространство и создать диалоговое окно с указанным вами размером. Тем не менее, Диалог занимает размер окна, где он был порожден. Следовательно, если бы у вас было два монитора: один 4k и один - 1280x720, и вы отменили диалог 1920x1080, это выглядело бы массивным и не сжалось бы. В настоящее время это ограничение.
Сообщите мне, если у вас возникнут проблемы. Вот пример кода:
(function() {
$(document).ready(function() {
Office.initialize = function() {
// specify the HTTPS url and width and height in pixels.
// the fourth parameter is to switch to using Microsoft Teams Dialog.
var dialog = new OfficeHelpers.Dialog('<dialog url>', 1024, 768);
dialog.result.then(function (value) {
console.log(value);
}).catch(function (error) {
OfficeHelpers.Utilities.log(error);
});
}
});
})();
// Some where in the Dialog
OfficeHelpers.Dialog.close({
a: 1,
alpha: 2,
'meao': 'cat',
b: {
a: 1,
alpha: 2,
'meao': 'cat',
}
});
Спасибо Хамберто ... Я проведу обходное решение @WrathOfZombies и посмотрю, кто получит принятый ответ. Если это сработает, мне придется выбирать между признанием ошибки и обходным решением ... –