2011-03-05 21 views
4

我的jquery腳本中有一些PHP啓動變量等。我試圖使用類似縮小的東西來壓縮它並阻止窺探。 PHP導致問題。任何人做了類似的事情?如何壓縮/縮小已嵌入php的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); 
+0

PHP短標籤真的啓用? – 2011-03-05 16:27:37

+1

最好的辦法是分開php和javascript,你可以做一個ajax調用來獲取你的數據的json,然後你可以訪問這個響應並獲取它 – cranberies 2011-03-05 16:37:35

+0

PHP代碼只能在JavaScript字符串中使用,還是在其他地方使用? – Gumbo 2011-03-05 16:48:51

回答

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

縮減大小不會與PHP工作。如果你必須保持PHP不變,你可以用一個已知的標籤(例如'ABCDE','12345')替換它,然後縮小它,然後再用PHP代替標籤。

+1

這就是我的想法。沒有太多的PHP,所以我會試試看。 – etriad 2011-03-05 16:33:11

1

當你的所有PHP都在JavaScript代碼中,就像你的示例代碼一樣,那麼任何值得使用它的縮小工具都應該工作得很好。例如,如果您想使用UglifyJS,那麼您可以使用try it online並查看它是否適用於您的代碼。