2014-04-13 41 views
0

我有一個JavaScript原型:使用JavaScript的原型在PHP腳本

function Shape(width, height){ 
    this.width = width || 0; 
    this.height = height || 0; 
} 

Shape.prototype.draw = function() { 
    //... 
}; 

和PHP腳本,即打印的javascript代碼:

print "<script>\r\n" 
    ."var x = function(){\r\n" 
     ."var r = new Shape(100, 100);\r\n" 
     ."r.draw();\r\n" 
    ."};\r\n" 
    ."x();\r\n" 
    ."x = undefined;\r\n" 
    ."</script>"; 

但是生成的腳本代碼不工作。當我在生成的函數中使用警報消息而不是此消息時,將顯示消息。那麼,我錯了什麼,或者我該如何才能使其工作?

謝謝你的回答。


對不起,我有點太不準確。我想,有些信息是不重要的。所以,我的原型聲明是在外部的JavaScript文件。 現在我找到了解決問題的方法:我將生成的腳本寫入新的JavaScript文件,並將此文件綁定到主html中。然後,我有一個局部變量設置爲全局..這是主要的問題... * *不好意思

+0

您將有一個更容易的時間,如果你只是有PHP呈現的JavaScript,而不是編造一個字符串,並打印出來:例如,''如果您打印不同值condit ionally。否則,只需關閉php標籤並正常寫入腳本即可。 – 1252748

回答

0

代碼工作正常,當我創建了內容的test.php的:

<script>function Shape(width, height){ 
    this.width = width || 0; 
    this.height = height || 0; 
} 

Shape.prototype.draw = function() { 
alert('Test'); 
};</script> 
<?php 
print "<script>\r\n" 
    ."var x = function(){\r\n" 
     ."var r = new Shape(100, 100);\r\n" 
     ."r.draw();\r\n" 
    ."};\r\n" 
    ."x();\r\n" 
    ."x = undefined;\r\n" 
    ."</script>";?> 
+0

對,對不起,這是我的一個不好的例子。我的原稿有很多行。但是我找到了一個解決方案,請參閱線程的頂部。 – salted

0

這是「執行」從PHP JavaScript代碼的方式:

<? 
//PHP code... 
?> 

<script type="text/javascript"> 
var x = function() 
{ 
    var r = new Shape(100, 100); 
    r.draw(); 
}; 

x(); 
</script> 

<? 
//More PHP 
?>