2012-05-04 60 views
1

我在服務器上生成了一個JavaScript,希望運行Google Clousure Compiler以便在腳本的php源代碼上運行。使用Google Closure編譯器部分跳過部分

var jsvar = <?=$var ? true : false ?>; 

只是徘徊,如果有什麼辦法告訴編譯器跳過優化?像正則表達式跳過:

/<\?=.*?\?>/ 

最好的問候,

尼克拉斯

回答

6

我發現當我將我的客戶端JavaScript與我的服務器端邏輯分開時,我的代碼更容易維護。現在我編寫我的腳本,以便我的服務器端處理髮出初始化變量。

示例 - 服務器端:

<?php echo 'var mynamespace = {}; mynamespace.jsvar = "' . $var . '";'; ?> 

在我的客戶端JavaScript:

var mynamespace = window['mynamespace'] || {}; 
function MyFunction() { 
    alert(mynamespace['jsvar']); 
} 
MyFunction(); 

使用這種風格,我的客戶端JavaScript用封編譯器編譯容易。

3

你可以這樣做:

var jsvar = eval("<?=$var ? true : false ?>"); 

編譯器不會接觸到字符串的內容。