我的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);
答案 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查看它是否适用于您的代码。