我在通过jquery ajax调用加载处理js脚本时遇到问题。草图在其自己的文件中运行正常,但是当我将其加载到div中时它不起作用。我是否需要以某种方式启动草图?我搜索了处理js文档但找不到它。感谢
丑陋的测试脚本
<a href="#" onclick="$.ajax({url: '/test', context: document.body, success: function(text){ $('#container').html(text); }});">Test</a>
'/ test'包含
的地方<script type="application/processing" data-processing-target="pjs">
// code here
</script>
<canvas width="760" height="500" id="pjs"></canvas>
答案 0 :(得分:2)
如果您从文件中获取源,请为要加载的画布创建一个新的Processing实例,而不是:
Processing.loadSketchFromSources($('#pjs'), ['mysketch.pde']);
第二个参数是一个数组,因为草图可以包含多个源文件。
如果是动态代码,只需构建一个新的Processing实例:
new Processing($('#pjs'), "/* full sketch code goes here. */");
您的帖子似乎建议对ajax调用“/ test”生成的内容进行某种程度的控制,所以我只想生成草图代码,没有脚本和canvas标记,并且有ajax回调function在页面上生成canvas元素,然后是一个新的Processing($('#canvasid'),callbackdata)调用,以便Processing.js将草图代码加载到刚刚创建的画布中。