如何使用jQuery的getScript运行processing.js

时间:2012-04-10 08:37:59

标签: jquery processing processing.js getscript

我已经制作了一个处理草图,我希望将其包含在我的博客中。

这样的推荐方式可以正常工作:

<script src="js/libs/processingjs.js"></script>

如果页面上有草图,我只想加载processingjs,我想用jQuery的getScript实现这个目的。但是,当我运行此代码时:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
    $(function() {
        $.getScript('js/libs/processingjs.js');
    });
</script>

不会渲染处理草图。应该没有必要回调,因为处理会自行运行。我的Web检查器显示文件已加载,但我没有看到草图。

2 个答案:

答案 0 :(得分:0)

是否有可能以document.ready之后无法加载的方式构建processing.js? (只是这种不良做法的一个例子就是使用document.write)所以当它包含在html中时它可以工作,但是如果它稍后加载则不行?如果您自己添加脚本标记会发生什么:

var script = document.createElement("script");
script.src = "/js/libs/processingjs.js";
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);

答案 1 :(得分:0)

Flöcsy的建议对我不起作用。似乎每当我调用脚本时,我需要指定脚本来加载草图(而不是只是搜索它们的脚本)。这是我现在使用的代码:

//processing
if($('.sketch').length) {
    $.getScript("processingjs.js", function() {
        $('.sketch').each(function() {
            Processing.loadSketchFromSources(this, [$(this).data('processing-sources')]);
        });
    });
}