2012-07-03 64 views
0

當談到javascript時,我們都努力工作,不幸的是,沒有辦法隱藏瀏覽器中的js,但我們不希望其他人立即能夠複製我們已經完成的工作幾小時的工作。當我看着Facebook的腳本標籤時,它只是一個單字母變量和函數的意大利麪加載,沒有人可以在jiffy中解密。有沒有像腳本程序那樣對我的js進行「匿名化」/「解碼」/「編碼」,因此沒有人能夠立即看到發生了什麼?使javascript不顯眼

實例(無論是遠非完美,充滿錯誤的):

function convertTimeToString(time) { 
    var seconds = 0; 
    var minutes = 0; 
    if(time % 60 >= 10) { 
     seconds = time % 60; 
    else { 
     seconds = "0" + time % 60; 
    } 
    minutes = Math.floor(time/60); 
    return minutes + ":" + seconds; 
} 

變得像這樣

function s(t){var a=0;var b=0;if(t%60>=10){a=t%60;}else{a="0"+t%60;}b=Math.floor(t%60);return b+":"+a;} 

我猜你看到其中的差別,它會採取一個不錯的js編碼器中有更多的時間來理解這個腳本實際上在做什麼。任何想法如何自動執行它?

+0

一個minifier一些obfucators也有,但有一些是去混淆器工作正常...那麼,爲什麼浪費時間收拾一些JavaScript代碼,使代碼執行慢? (打包代碼必須是EVALuated)如果有人想複製你的js,他將能夠做到這一點(如果發生,通常意味着你的代碼是好的) – fcalderan

+1

個人而言,我發現免費的JavaScript複製和修改成爲html/js模型的主要優點之一。你可以隨意挑選別人做過的任何事情;它會促進代碼重用,共享等。坦率地說,你的縮小版本會像原始版本一樣具有自動縮進功能,或者更多,因爲讀取的內容更少。除了降低自己的調試能力之外,你還需要從混淆中獲得什麼? –

+2

客戶端代碼是打開的,就像網頁一樣。你儘量縮小代碼,使其不會「保護工作」。 – elclanrs

回答

0

嘗試JSMin的一個開始:

JSMin不混淆,但它確實醜化。

相關問題