Добавил еще ведущие нули к миллисекундам, если кому-то еще когда-то этот код понадобится
log = function (text, color, define){ var id, time, thread, logHtml, textLog; define = (typeof define == 'string') ? define.split(/[\s,.|:;]+/g) : define; if(typeof define === 'object' && define !== null){ if(Array.isArray(define)){ id = define.indexOf('id') > -1; time = define.indexOf('time') > -1; thread = define.indexOf('thread') > -1; } else{ id = define.id == true; time = define.time == true; thread = define.thread == true; } } else id = time = thread = true; id = id ? '<a href="action://action' + ScriptWorker.GetCurrentAction() + '" style="color:gray;">[' + ScriptWorker.GetCurrentAction() + ']</a>' : ''; time = time ? ' ' + getTime() : ''; thread = thread ? ' Поток №' + thread_number() : ''; logHtml = (id || time || thread) ? id + '<span style="color: white">' + time + thread + ' : </span>' : ''; logHtml += '<span style="color:' + (color ? color : 'white') + '">' + text + '</span>'; textLog = '[' + ScriptWorker.GetCurrentAction() + ']' + time + thread + ' : ' + text function getTime(){ var checkTime = function(i){ return (i < 10) ? "0" + i : i; }; var checkMilliSeconds = function(ms){ if (ms < 10) { return "00" + ms; } else if (ms < 100) { return "0" + ms; } else { return ms; } }; var d = new Date(); var hh = checkTime(d.getHours()); var mm = checkTime(d.getMinutes()); var ss = checkTime(d.getSeconds()); var ms = checkMilliSeconds(d.getMilliseconds()); return '[' + hh + ':' + mm + ':' + ss + '.' + ms + ']'; }; Logger.WriteHtml(logHtml, textLog); }Маленькое окно браузера в режиме запуска
-
Присоединяюсь к сообщению. У меня такая же проблема и уже давно.
@m4zuper said in Маленькое окно браузера в режиме запуска:
Решение на данный момент - отключение "Эмуляции масштаба устройства" в настройках действия "Применить отпечаток"
Отключение эмуляции масштаба устройства так же легко детектится, как и нереальное соотношение сторон экрана на мобильных устройствах. (Лично я, проблему заметил только на мобилках)
Поэтому и то, и другое аутентичности не прибавит.Подскажите, пожалуйста, в последней доступной версии BAS 27.2.0 этот баг устранён?
-
@gurkin4 said in Маленькое окно браузера в режиме запуска:
Разрешение экрана надо ставить после применения отпечатков.
Лично у меня прекрасно работает в любой версии BAS.Конечно, я так и делал. Применял разрешение в самую последнюю очередь, даже после установки прокси.
У тебя всё прекрасно работает, когда подключаешься к серверу по RDP? Потому что проблема вылезает только в этом случае и с некоторыми профилями, чьи браузеры находятся в данный момент в работе.
Неважно открываешь ли ты браузер при этом или нет. Как только подключился - сразу размер экрана на некоторых мобилках начинает лажать (я в лог для проверки вывожу document.documentElement.clientWidth и document.documentElement.clientHeight)
Если работаешь на локальной машине - всё отлично эмулируется, проблема отсутствует. -
@Михаил96 said in Маленькое окно браузера в режиме запуска:
Не наблюдаю таких проблем при переподключении по RDP, эмуляция масштаба включена, размер окна браузера соответствует параметрам из отпечатка. Версия BAS 27.2.0
Как я писал выше, это наблюдается не на всех профилях. Но, скажем, при подключении (при повторном подключении) к серверу по RDP из 10 потоков 2 точно начнут лажать с уменьшенной высотой экрана. Как-то так:

-
Вообще проблема касается не только мобильных профилей с десктопом тоже самое. Причем меняется оно само собой в процессе работы даже без отключения от RDP. На скрине выделено момент переподключения к RDP но и до этого момента видим из лога ситуация происходит. Скрипт работал в 4 потока в 13:30 прошло переподключение и у всех 4х потоков полетело разрешение.

-
@intelres Проблема в том, что rdp, по крайней мере официальный клиент, меняет масштаб на сервере так, чтобы он соответствовал клиенту при наличии подключения и меняет обратно на оригинальный при его отсутствии.
Хром отслеживает изменения dpi, и размер браузера меняется соответственно.
Вы можете проверить это самостоятельно выводя в лог разрешение через каждые пару секунд.
Соответственно решений может быть несколько:
- Оставлять сессию всегда включенной или всегда выключенной.
- Поменять масштаб у себя на пк на тот, который на сервере, обычно это 100%.
- Как то настроить клиент так, чтобы он не менял масштаб на сервере.
Это не глюк, всё работает исправно. Используй анидеск, но вроде на серваках без видяхи и монитора(либо эмулятора он будет не оч).
-
Anydesk я пробовал установить на сервак, но там разрешение какое-то маленькое экрана, вообще очень сложно работать с БАСом.
Вспомнил ещё один момент по этой проблеме - проблема началась тогда, когда в движке БАСа появилась возможность выбора разных версий Хромиума.
После этого высоты экранов мобильных устройств стали "схлопываться" при подключении по RDP.

