我正在服务器上生成一个 javascript,并希望运行 Google Clousure Compiler 以在脚本的 php 源代码上运行。
var jsvar = <?=$var ? true : false ?>;
如果有什么方法可以告诉编译器跳过 ? 就像一个正则表达式跳过:
/<\?=.*?\?>/
最好的祝福,
尼古拉斯
我正在服务器上生成一个 javascript,并希望运行 Google Clousure Compiler 以在脚本的 php 源代码上运行。
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 可以使用 Closure-compiler 轻松编译。
你可以这样做:
var jsvar = eval("<?=$var ? true : false ?>");
编译器不会触及字符串的内容。