Как использовать переменную на bonsai.js?
var star = document.getElementById("star");
var color = "#ef6360";
bonsai.run(star, {
code: function() {
new Star(30, 30, 20, 5, 0.7).attr({
fillColor: color
}).addTo(stage);
}
});
это не работает, но это будет работать, если я удалю переменную и напрямую использую строку, например fillColor:"#ef6360"
, Зачем?
1 ответ
Насколько я знаю, вы не можете получить доступ к переменным внутри code
потому что его контекст имеет ограниченный доступ к браузеру согласно документации здесь (прочитайте первое примечание).
Это то, что точно говорят доктора.
Примечание: контекст бегуна имеет ограниченный доступ к функциям браузера (например, нет доступа к DOM), потому что в большинстве случаев код Бонсай выполняется на рабочем месте. Поэтому вы ограничены в использовании предоставленного API-интерфейса Bonsai и обычных функций JS, которые предоставляются для работника ( подробности см. В разделе Функции, доступные для работников в MDN). Если вы хотите передать начальные данные в контекст бегуна, вы можете прочитать об этом в нижней части этой страницы или если вы хотите динамически манипулировать DOM через Bonsai, вам следует взглянуть на обзор Communication.
Если есть способ получить доступ к области окна изнутри веб-работника, то это возможно. (Я не знаю, возможно ли это)
Надеюсь это поможет.