Как использовать переменную на 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.

Если есть способ получить доступ к области окна изнутри веб-работника, то это возможно. (Я не знаю, возможно ли это)

Надеюсь это поможет.

Другие вопросы по тегам