如何在bonsai.js上使用变量?

时间:2015-04-23 03:38:36

标签: javascript html5 canvas bonsaijs

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 个答案:

答案 0 :(得分:2)

据我所知,您无法访问code内的变量,因为根据文档 here (read the first note) ,其上下文对浏览器的访问权限有限。

这就是文档所说的内容。

  

注意 :运行者上下文对浏览器功能的访问权限有限(例如没有DOM访问权限),因为在大多数情况下,Bonsai代码是在工作人员中执行的。因此,您只能使用提供的Bonsai API和为工作人员提供的常规JS函数( see Functions available for workers on MDN for details )。如果您想将初始数据传递给运行者上下文,您可以在本页底部阅读该内容,或者如果您想通过Bonsai动态操作DOM,您应该查看 Communication overview

如果有办法从Web工作者内部访问窗口范围,则可以。 (我不知道是否有可能)

希望这有帮助。