2010-11-25 132 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元素之後打電話了嗎?你想在服務器構建頁面時插入腳本,還是希望客戶端執行異步回發來獲取腳本並執行腳本? – 2010-11-25 12:03:13

回答

0

這很容易使用AJAX。使用AJAX獲取腳本片段,然後將其放置在腳本標籤中,它應該執行:)。

0

是的,這可以很容易地完成,但方式因服務器技術而異。

像Ruby on Rails的:

讓假設你的腳本存儲在一些紅寶石可變說js_script作爲

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);' 

下面的代碼將在HTML文件中

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


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


</script> 

注意工作:爲了正確執行動態腳本,您應該在調用之前加載所有必需的元素和js文件。

像你的情況,你應該,因爲它是在你的腳本