Показать сообщение отдельно
Старый 04.10.2015, 16:25   #1  
vasya-serega is offline
vasya-serega
Участник
 
145 / 17 (1) ++
Регистрация: 12.05.2013
Адрес: Украина
Изменение размера диалога
День добрый, подскажите, как решить задачу: динамически изменять размер диалогового окна, чтобы не появлялись скролы. Есть 2 варианата:
1) Задать размеры окна с запасом
X++:
var dialog = new parent.Mscrm.CrmDialog(Mscrm.CrmUri.create(dialogWebResource), dialogArgs, 600, 600, null);
            dialog.show();
Ну либо самому посчитать размеры (малоприятная задача, учитывая, что заранее неизвестно, что будет в этом диалоге отображено)
2) Динамически изменять размер iframe после загрузки:
X++:
$(top.document).find("#InlineDialog_Iframe").load(function() {
    $(top.document).find("#InlineDialog_Iframe").each(function(){
            $(this).css(
                { "height": $(this).contents().find("html").height(),
                    "max- height": $(window).height()* 0.7
                }
            );
        });
}
Но во втором случае оказывается, что событие load приходит раньше, чем отобразятся елемент, и код выше выполнится раньше, чем изменится размер html. А лепить костыль в виде дополнительного времени ожидания не хочется.
Нет ли способа менять размер диалога из Mscrm.CrmDialog какими-нибудь стандартными средствами?