簡體   English   中英

如何壓縮/縮小嵌入了php的javascript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM