0

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

像这样推荐的方法很好用:

<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>

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

4

2 回答 2

0

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

var script = document.createElement("script");
script.src = "/js/libs/processingjs.js";
var head = document.getElementsByTagName("head")[0];
head.appendChild(script);
于 2012-04-10T10:01:32.960 回答
0

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

//processing
if($('.sketch').length) {
    $.getScript("processingjs.js", function() {
        $('.sketch').each(function() {
            Processing.loadSketchFromSources(this, [$(this).data('processing-sources')]);
        });
    });
}
于 2012-04-10T22:58:10.743 回答