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

时间:2011-03-05 16:23:58

标签: php javascript jquery minify compression

我的jquery脚本中有一些php来启动变量等等。我正在尝试使用minify来压缩它并阻止窥探。 PHP导致问题。有人做过类似的事吗?

这里只是我的php-infused 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);

3 个答案:

答案 0 :(得分:2)

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>

file.js:

$(function() {

  $.data_values = {

     "type": $("#value_type").val(),
     "cert": $("#value_cert").val(),
     "gauge": $("#value_gauge").val()

  };

});

必须使用值时:

$('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);

答案 1 :(得分:1)

Minify不适用于PHP。如果你必须保留PHP,那里没有太多,你可以用一个已知标签(即'ABCDE','12345')替换它,然后缩小它,然后再用你的PHP替换标签

答案 2 :(得分:1)

如果您的所有PHP都在JavaScript代码中,就像您的示例代码一样,那么任何有价值的缩小工具应该可以正常工作。如果您想使用UglifyJS,那么您可以try it online查看它是否适用于您的代码。