Лог в новой вкладке

Сегодня пришла в голову интересная идея: а что если логировать действия не в логе постера, в новой вкладке? Го покажу как.Для удобства, сообщения будем дополнять таймкодами, так красивее. Добавляем в проект кубик C# и вставляем туда этот код:

//что пишем
string message = "test";
//таймкод
string time = DateTime.Now.ToString("yyyy-MM-dd H:mm:ss");
//запоминаем предыдущую активную вкладку (на всякий случай)
Tab prevActiveTab = instance.ActiveTab;
//получаем вкладку лога
Tab tab = instance.GetTabByAddress("log");
//если ее нет, то создаем. вот для этого и надо было запомнить предыдущую вкладку, ибо при создании новой, она автоматически активируется, и могут быть проблемы с выполнением шаба
if (tab.IsVoid) instance.NewTab("log");
//костыль. куда без них?
tab = instance.GetTabByAddress("log");
//получаем body в переменную 
var el = tab.FindElementByTag("body",0);
//устанавливаем его свойство
el.SetAttribute("innerhtml",time+" : "+message+"<br>"+el.GetAttribute("innerhtml"));
//или так, если хотим, чтобы новые сообщения добавлялись в низ
el.SetAttribute("innerhtml",el.GetAttribute("innerhtml")+time+" : "+message+"<br>");
//возвращаем предыдущую активную вкладку
prevActiveTab.SetActive();

А вот так оно выглядит:

4 Replies to “Лог в новой вкладке

  1. Клевая мысль, спасибо 🙂
    Но есть странность — в РМ все ок, вкладка заполняется данными, а в ZP нет

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *