Форум

Как динамически менять содержимое якоря?

28 октября 2017 22:02
Делаю сцену, в ней над объектом будет инфо-бокс с текстовой информацией. Думаю реализовать его через anchors.
Но дело в том, что это инфо-бокс должен меняться в процессе сцены, т.е. текст должен быть переменным.
Новую текстовую переменную я буду получать в коде приложения, но как вывести её на якорь? т.е. обновить его значение?
В api не нашел такой функции.
28 октября 2017 23:24
Справился при помощи "Custom anchor" и конструкции
document.getElementById("my_anchor").innerHTML = "мой новый текст";


но не уверен, оптимальный ли это вариант
03 ноября 2017 00:44
Это нормальное решение, однако, есть несколько "но": не следует часто менять innerHTML (производительность), следует крайне ответственно относится к контенту помещаемому в innerHTML (безопасность, XSS), лучше использовать DOM элементы и соответствующее API, чем напрямую innerHTML.

Так же id элемента анкера можно получить используя эту функцию.
Команда Blend4Web
kirill@blend4web.com
03 ноября 2017 16:45
Ответ на сообщение пользователя Кирилл Осипов
Это нормальное решение, однако, есть несколько "но": не следует часто менять innerHTML (производительность), следует крайне ответственно относится к контенту помещаемому в innerHTML (безопасность, XSS), лучше использовать DOM элементы и соответствующее API, чем напрямую innerHTML..
Я не слишком силен в терминах, но я же вроде поиск по дереву DOM и использовал. Либо какой должен быть синтаксис?


Ответ на сообщение пользователя Кирилл Осипов
Так же id элемента анкера можно получить используя эту функцию.

get_element_id(obj)


Если не ошибаюсь, то он возвращает ID элемента в блендере, а не #id в html-коде. По крайней мере я его так использовал.
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.