我在服務器上生成了一個JavaScript,希望運行Google Clousure Compiler以便在腳本的php源代碼上運行。使用Google Closure編譯器部分跳過部分
var jsvar = <?=$var ? true : false ?>;
只是徘徊,如果有什麼辦法告訴編譯器跳過優化?像正則表達式跳過:
/<\?=.*?\?>/
最好的問候,
尼克拉斯
我在服務器上生成了一個JavaScript,希望運行Google Clousure Compiler以便在腳本的php源代碼上運行。使用Google Closure編譯器部分跳過部分
var jsvar = <?=$var ? true : false ?>;
只是徘徊,如果有什麼辦法告訴編譯器跳過優化?像正則表達式跳過:
/<\?=.*?\?>/
最好的問候,
尼克拉斯
我發現當我將我的客戶端JavaScript與我的服務器端邏輯分開時,我的代碼更容易維護。現在我編寫我的腳本,以便我的服務器端處理髮出初始化變量。
示例 - 服務器端:
<?php echo 'var mynamespace = {}; mynamespace.jsvar = "' . $var . '";'; ?>
在我的客戶端JavaScript:
var mynamespace = window['mynamespace'] || {};
function MyFunction() {
alert(mynamespace['jsvar']);
}
MyFunction();
使用這種風格,我的客戶端JavaScript用封編譯器編譯容易。
你可以這樣做:
var jsvar = eval("<?=$var ? true : false ?>");
編譯器不會接觸到字符串的內容。