如何压缩/缩小已嵌入php的javascript

如何压缩/缩小已嵌入php的javascript,php,javascript,jquery,minify,compression,Php,Javascript,Jquery,Minify,Compression,我的jquery脚本中有一些php来启动变量,等等。我正在尝试使用minify之类的东西来压缩它并阻止窥探。php正在引发问题。有人做过类似的事情吗 下面是我的php注入javascript的一个示例: $('input[name=type]:radio').filter('[value=<?=$type?>]').attr('checked', true); $('input[name=cert]:checkbox').filter('[value=<?=$c

我的jquery脚本中有一些php来启动变量,等等。我正在尝试使用minify之类的东西来压缩它并阻止窥探。php正在引发问题。有人做过类似的事情吗

下面是我的php注入javascript的一个示例:

    $('input[name=type]:radio').filter('[value=<?=$type?>]').attr('checked', true);
    $('input[name=cert]:checkbox').filter('[value=<?=$cert?>]').attr('checked', true);
    $('input[name=gauge]:checkbox').filter('[value=<?=$gauge?>]').attr('checked', true);
$('input[name=type]:radio').filter('[value=]).attr('checked',true);
$('input[name=cert]:checkbox').filter('value=')).attr('checked',true);
$('input[name=gauge]:复选框').filter('value=]).attr('checked',true);

Minify不能与PHP一起使用。如果你必须保留PHP,如果没有太多,你可以用一个已知的标记(即“ABCDE”,“12345”)替换它,然后缩小它,然后用你的PHP再次替换这些标记。

当你所有的PHP都是JavaScript字符串,就像你的示例代码一样,那么任何值得使用的缩小工具都可以正常工作。例如,如果您想使用UglifyJS,那么您可以查看它是否适用于您的代码。

PHP尝试以这种方式完全分离JavaScript。在PHP文件中,您保留以下值:

file.php:

<html>
<head>...</head>
<body>
...
<input type="hidden" id ="value_type" value="<?=$type?>" />
<input type="hidden" id ="value_cert" value="<?=$cert?>" />
<input type="hidden" id ="value_gauge" value="<?=$gauge?>" />
...
</body>
</html>
当必须使用这些值时:

$('input[name=type]:radio').filter('[value="'+$.data_values.type +'"]').attr('checked', true);
$('input[name=cert]:checkbox').filter('[value="'+$.data_values.cert +'"]').attr('checked', true);
$('input[name=gauge]:checkbox').filter('[value="'+$.data_values.gauge +'"]').attr('checked', true);

PHP短标记真的被启用了吗?最好的方法是将PHP和javascript分开,您可以通过ajax调用获取数据的json,然后您可以访问响应并获取PHP代码(仅在javascript字符串中),或者在其他任何地方使用它?这也是我的想法。没有太多的php,所以我将尝试一下。
$('input[name=type]:radio').filter('[value="'+$.data_values.type +'"]').attr('checked', true);
$('input[name=cert]:checkbox').filter('[value="'+$.data_values.cert +'"]').attr('checked', true);
$('input[name=gauge]:checkbox').filter('[value="'+$.data_values.gauge +'"]').attr('checked', true);