2012-04-10 10 views
0

私は自分のブログに含める処理スケッチを作成しました。jQueryのgetScriptを使用してprocessing.jsを実行する方法

そうのような方法をお勧め正常に動作します:私はページ上のスケッチがある場合processingjsをロードしたい

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

、私はこの使用して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インスペクタはファイルがロードされていることを示していますが、スケッチは表示されません。

+0

あなたは私たちにフィドルを送ることができますか? –

+0

はfiddleで動作することができません。ここには動作するバージョン(htmlスクリプトを使用しています)があります:http://mikevanrossum.nl/stuff/temp/working.htmlここには動作しないものがあります(getScriptを使用しています): http://mikevanrossum.nl/stuff/temp/not-working.html – askmike

答えて

0

Flöcsyの提案は私にとっては機能しません。私はスクリプトを作成するたびに、スケッチを読み込むためのスクリプトを指定する必要があります(スクリプトを検索するだけでなく)。これは私が今使っているコードです:

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

processing.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); 
+0

それも動作しませんが、私は答えを見つけました:何とか処理機能を使用して自分でロードする必要があります。 $ .getScript( "processingjs.js"、機能(){ \t \t \t \t \t $() 'スケッチします。' はそれぞれ(機能(){ \t \t \t \t \t \t:これは私が今使用しているものです。 Processing.loadSketchFromSources(この、[$(この).DATA( '処理-源')]); \t \t \t \t \t}); \t \t \t \t})。 – askmike

関連する問題