在窗口完全加载innerHTML之后加载processing.js sketch?

pri*_*ecs 3 jquery processing.js

我的processing.js sketch有一个size()调用,它取决于正在加载的窗口,因为它抓取了div的大小.50%的时间,草图在CSS开始之前加载,因此草图的大小不正确.我认为解决这个问题的最好方法是在window.onload函数中加载它,但canvas似乎不喜欢被innerHTML调用.我怎么能把一些带有处理草图的画布泵入div命令?

Mik*_*ans 5

不是画布没有工作,因为它的Processing.js没有为画布加载草图来寻找DOM插入; 它只对草图加载加载的DOM内容进行一般性传递.由于您希望在此之后注入草图,您可以触发重新分析(通过调用Processing.reload(),这将重置所有内容,因此如果您在同一页面上有其他不应重置的草图,请不要使用)或者你可以打电话

var sourceList = ['file1.pde','file2.pde','...',...];
var canvas = document.querySelector("#mycanvas");
Processing.loadSketchFromSources(canvas, sourceList);
Run Code Online (Sandbox Code Playgroud)

特别是对于一个草图,只要将其注入页面是安全的.