2010-11-25 21 views
0

HTMLページのレンダリング時にjavascriptを動的にレンダリングする必要があります。 javascript関数は、円や三角形、または四角形を描画するために使用できます。次のコードスニペットがデータベースの特定のフィールドに格納されていると仮定して、そのようなコードを特定の場所のHTMLに直接埋め込むにはどうすればよいでしょうか。javascriptコードをHTMLに動的に埋め込む方法

<script src="../js/processing.js"></script> 
<script src="../js/shapes.js"></script> 

<div style="clear:both;"/> 
<canvas id="canvas1" width="200" height="200"></canvas> 

<script id="script1" type="text/javascript"> 
var sketch = new Processing.Sketch(); 
sketch.attachFunction = function(processing) { 
processing.setup = setup(processing); 
processing.draw = drawCircle(processing); 
}; 

var canvas = document.getElementById("canvas1"); 
var p = new Processing(canvas, sketch); 
</script> 
+0

スクリプトで必要とされているため、canvas1要素を作成した後にそれを呼び出す必要がありますか?サーバーがページをビルドするときにスクリプトを挿入したいのですか、またはクライアントに非同期ポストバックを実行してスクリプトを取得して実行させたいのですか? –

+0

これは、サーバが非同期ポストバックではなくページを構築するときに起こります – user339108

答えて

0

これはAJAXを使用すると非常に簡単です。 AJAXを使用してスクリプトスニペットを取得し、それをあなたの身体のスクリプトタグに配置します。:)

0

はい、これは簡単に行うことができますが、方法はサーバー技術ごとに異なります。 Ruby on Railsの中のような

があなたのスクリプトがいくつかのルビーの変数に格納されているとは、コードが注意

<script id="script1" type="text/javascript"> 


<%= js_script -%> # here the magic happens, it replaced this block with js_script 


</script> 

HTMLファイルで動作します後

js_script = 'var sketch = new Processing.Sketch(); 
sketch.attachFunction = function(processing) { 
processing.setup = setup(processing); 
processing.draw = drawCircle(processing); 
}; 

var canvas = document.getElementById("canvas1"); 
var p = new Processing(canvas, sketch);' 

としてjs_scriptとしましょう:動的スクリプトを適切に実行するには、必要な要素とjsファイルを呼び出す前にロードする必要があります。あなたのケースのように

あなたはそれはあなたが使用しているサーバプラットフォーム

関連する問題