Стартовая страница › Форумы › Ошибки в работе › Ошибки Веб › domCreated — не работает изменение размеров
- В этой теме 19 ответов, 2 участника, последнее обновление 16 часов, 42 минуты назад сделано
manjey73.
-
АвторЗаписи
-
06.09.2026 в 21:44 #44863
manjey73УчастникАналогично переменным boolean не работает изменение размера (size) в скрипте domCreated
Меняем что-то, размер применился, сохраняем, обновляем, размер тот, который выставлен для компонента в фейсплейте.
Что еще не работает, я не знаю…
07.09.2026 в 16:42 #44869
MikhailМодераторДобрый день!
Уточните, пожалуйста, последовательность действий, которые необходимы для воспроизведения проблемы.08.09.2026 в 11:50 #44884
manjey73Участник*.fp и *.mim в папку HelloWorld
Корни проблемы абсолютно те же, что и у смены Картинок.
При запуске схемы не отрабатывает скрипт из domCreated, и в Редакторе также видно, что изменение происходит на следующем шаге.
В фейсплейте экспортируемая переменная _type — возможные значения
right
bottom
RBпроблема глобальная для выполнения скриптов в фейсплейтах, из-за этого все работает через одно место.
-
Ответ изменён 6 дней, 21 час назад пользователем
manjey73.
08.09.2026 в 17:28 #44890
MikhailМодераторДобрый день!
Напишите по шагам, как воспроизвести проблему. Без необходимости скачивать и добавлять в проект схемы и фейсплейты.08.09.2026 в 18:26 #44893
manjey73УчастникИнтересно, как вы искать проблему будете, по фотографии как Гадалки? 🙂
Ну сейчас сделаю ‘фотографию’
1. При настройке фейсплейта на схеме параметр ‘right’ — при старте должен отработать скрипт и выставить текст в соответствующую позицию. НО НЕ ВЫСТАВЛЯЕТ
2. Если открыть в Редакторе, аналогично, domCreated должен выставить текст в позицию right — НЕ ВЫСТАВЛЯЕТ
3. Если в Редакторе в свойствах прописать ‘bottom’, текст должен выставиться в соответствующую позицию, но он выставляется в позицию, которая была ранее, то есть ‘right’
4. потом мы вписываем с свойство ‘RB’ и текст выставляется в положение, которое было прошлым, то есть ‘bottom’то же самое происходит и со сменой картинок. Мы выставляем одну, вывод в консоль пишет что переменная изменилась, но действий НОЛЬ, выставляем следующую переменную, в консоль выводится то, что ввели, но действие происходит на прошлую переменную.
з.ы. мое зрение и 125% разрешение ноутбука не позволяют мне копаться в мелких окошках браузера в поисках кода, в котором я еще и не разбираюсь.
а эта БЯКА портит нервы и тормозит создание фейсплейтов, потому что поведение хуже некуда.-
Ответ изменён 6 дней, 14 часов назад пользователем
manjey73.
08.09.2026 в 19:39 #44900
manjey73УчастникЕсли честно, я не понимаю, как я могу по шагам описать создание фейсплейта и скриптов в нем. В выложенном примере постарался сократить скрипты компонента в фейсплейте до минимума.
Потому что в других фесплейтах скриптов больше.09.09.2026 в 11:19 #44905
manjey73УчастникПример видео на основе фейсплейта маркера, управление в Редакторе.
На видео видно по логу начало старта вызова скрипта и после его выполнения.
При выполнении domCreated размер блока с текстом svg 0, хотя текст отображен.
Координаты тоже не соответствуют.После первого изменения одной переменной блок перемещен на координату Y = 270 (Высота родительского блока тут 310) и высота компонента 2 (Разметка с svg текстом) равно 42 по умолчанию в фейсплете. Текст потерялся.
После второго изменения блок выставлен на расчетные координаты и текст отображается.По логу видно начало старта и завершение скрипта domUpgated.
Скрипты так же у каждого компонента внутри.
И тут похоже видно, что скрипты выполняются как бы параллельно хотя по SMIL анимации не понятно, как оно там на самом деле выполняется.
Больше вопрос, почему при domCreated координату указывает 270, но блок текста остается вверху ?Получается возможность писать скрипты внутри Компонентов это бред сивой кобылы ?
09.09.2026 в 12:50 #44906
manjey73УчастникПри этом скрипт Компонента 2 никак не оперирует данными, которые мог бы предоставлять Компонент 1, только данные Родительского компонента, таких как высота, ширина объекта и чтение экспортируемых свойств.
По этому очень странно, что в domCreated скрипт получает предыдущие данные.-
Ответ изменён 5 дней, 20 часов назад пользователем
manjey73.
09.09.2026 в 13:21 #44908
manjey73Участникдобавил вывод в лог при запуске скриптов в каждом компоненте.
Видно, что сперва отрабатывает скрипт Компонента 1, потом выполняется скрипт Компонента 2.соответственно непонятно, почему domCreated и далее domUpdated получают предыдущие значения, а не те, которые определены скриптом?
Вот из-за этого и вся проблема.
09.09.2026 в 16:26 #44914
MikhailМодераторНе смогу помочь, к сожалению. Проблема слишком комплексная.
09.09.2026 в 16:44 #44915
manjey73УчастникА без ее решения нет фейсплейтов, потому что это затрагивает их скрипты напрямую.
А так же возможность менять свойства без привязкок, потому что фейсплейтом может быть просто набор статических компонентов.
09.09.2026 в 23:08 #44919
manjey73УчастникНа Linux 6.5.0 поведение еще хуже. Если на Windows хоть как-то с костылями работает, то на Linux полная хрень…
Вот такое вот поведение занимателное
короче ждем 6.5.ХХ видимо.
отображение текста только в момент перезагрузки, либо строгой привязки переменной в текст.
з.ы. тут не текст, а именно svg с текстом.
-
Ответ изменён 5 дней, 10 часов назад пользователем
manjey73.
10.09.2026 в 10:22 #44924
manjey73УчастникОдну штуку устранил, почему-то на Linux не успевает отрабатывать getBBox() после добавления текста в SVG.
Еще один камень в сторону того, что не надо смешивать Создание и Изменение в один скрипт. Например при создании можно определить высоту блока текста и далее использовать уже как константу, а не вычислять каждый раз.
Ну и глобальная проблема с «запаздыванием» переменных на шаг никуда не делась.
Пришлось встроить очередной костыль скрывая компонент через класс ‘hidden’11.09.2026 в 18:15 #44940
MikhailМодераторглобальная проблема с «запаздыванием» переменных на шаг никуда не делась
Задача для разработчика фейсплейта, которая решается с отладчиком в браузере.
11.09.2026 в 18:37 #44946
manjey73УчастникЗадача для разработчика фейсплейта, которая решается с отладчиком в браузере.
Так понимаю выложенный пример со сменой Картинок вы даже не смотрели.
А стоило бы, потому что скрипт там примитивный, проще некуда, и когда при изменении переменной в консоль пишется что мы ввели, а действие не происходит, это явно не проблема разработчика фейсплейта.В общем, пока вы сами не увидите, обсуждать дальше не вижу смысла. Или предложите хотя бы костыль, хотя костыль я и сам могу сделать, но это именно костыль, который работает так же неверно.
-
Ответ изменён 6 дней, 21 час назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.