[英]how to compress / minify javascript that has embedded php
我的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);
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);
Minify不適用於PHP。 如果你必須保留PHP,那里沒有太多,你可以用一個已知標簽(即'ABCDE','12345')替換它,然后縮小它,然后再用你的PHP替換標簽。
如果你的所有PHP都在JavaScript代碼中,就像在你的示例代碼中一樣,那么任何有價值的縮小工具應該可以正常工作。 例如,如果您想使用UglifyJS,那么您可以在線試用它 ,看看它是否適用於您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.