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>

処理スケッチはレンダリングされません。処理は単独で実行されるため、コールバックは必要ありません。私の Web インスペクターは、ファイルが読み込まれたことを示していますが、スケッチが表示されません。

4

2 に答える 2

0

processing.js が document.read 後にロードできないように構築されている可能性はありますか? (そのような悪い習慣の例は、document.write を使用することです) html に含まれている場合は機能しますが、後で読み込まれた場合は機能しませんか? script タグを自分で追加するとどうなるか:

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 に答える