其他無關緊要的話我就不多說了,也不會說,直接上事件起因:
1.js的保密性
2.js與頁面的效能優化(這是重點)
先談談的說下保密,由於js的特殊性,使用者可以輕而易舉地對乙個**的js檔案一覽無餘,雖然有各種加密手段/混淆手段,但是都是來自於客戶端的方法。
今天我就來談談如何結合伺服器端來對js進行加密與效能優化。
步驟:2.新建乙個檔案,檔案格式?這個得看你是什麼伺服器,asp貌似沒什麼格式 就.asp,.net的話推薦用.ashx/.aspx都行,php-.php以此類推,其實這個檔案主要是用於聚合你的script指令碼。
3.編寫這個檔案,如果你不想別人看到你的js內容,就做乙個驗證吧。寫完驗證之後,可以開始聚合你的js檔案了,首先你需要寫乙個private方法(或者函式),其引數是string js_name 看到名字懂了吧,這個方法返回的就是你輸入這個js_name的檔案中的內容(這裡語句比較糾結。。請仔細理清楚吧!),接下來,需要用到你寫的清單,通過清單,將頁面需要的每乙個js檔案都迭代進乙個字串流中,接下來就是將這個流輸出到頁面中。
4.在你要載入js的頁面:
當然src部分需要傳入一些引數 比如你的頁面的url 因為需要通過url在js清單中去找到你需要的js,這是必須的,當然用於加密或者其他的用途,你可以傳其他的引數!
貌似這樣就可以了完成了唄!
說說這麼做的好處吧:
1.加密方面,如果你做了驗證過程,可以實現對js的部分隱藏,相信這遠比僅僅通過對js檔案的單純混淆與加密要更安全得多
2.效能優化與維護兩不誤:有些大專案,可能無法把所有的js都合成為乙個js檔案來載入,至於為啥要合成乙個來載入,因為標籤(後面略去x個字)。比如說你在所有頁面上都需要載入jquery.js這個優秀的js庫,但是同時你在乙個或者幾個類似的頁面需要載入另乙個js檔案,如果用html來每次都載入乙個,這樣標籤的數量會很多,這樣頁面效能會大大受到影響(其實當script標籤在載入文件的時候,其他動作都會停止),現在,你通過js把所有js內容都合成到乙個頁面再來載入,這將大大地節省http請求次數,因為效能顯而易見。
3.其工作方式,一旦建立好清單與js請求頁面後,你只需要更改清單與新增js檔案就行。而無需對頁面內的**進行更改,另外,你可以對js進行分類,比如debug版和release版,當然release是壓縮過的,這些也僅僅需要在清單中進行更改就可。維護很方便的。
//------------------下面是感想,覺得不需要的可以直接關閉本頁咯哦------------------->
其實這篇文章只是觀後感,這種js載入方法,早就已經存在,小sam只是將自己的實現過程表達出來而已了!
第一次寫部落格
今天是我第一次寫自己的部落格 感到很激動 我是乙個程式設計師 之前一直看一些關於如何學習程式語言的貼子 大家都說學習一門語言 在於積累 而積累不能都考腦子儲存起來 需要整理成乙個自己的小金庫 在這個小金庫中有我在工作開發中遇到的乙個乙個的問題 我們往往對於新的問題要花費相對較長的時間去解決,對於我 ...
第一次寫部落格
這是我第一次寫部落格,也不知道到底該寫點什麼,感覺很多需要寫,但還是不那麼的自信,不論怎麼樣,還是希望能夠記錄一下自己作為一名程式猿這點點滴滴的事情,算是一段經歷吧。希望看到的人不要噴我。我是菜鳥,菜的不能再菜的鳥。大神就不要來嘲笑小弟了。剛開始寫程式還是跟著一群有志向大四的學長。可能就是這一點點的...
第一次寫部落格
第一篇文章 前兩天看見同學的朋友圈,很高興自己大學三年寫的部落格還是有人看的嗎。大學三年看過很多別人的很寫的部落格,也借鑑了很多人分享的資源。曾經很多次想過要開乙個自己的部落格,寫寫文章,寫寫 記錄一下平時學習中遇到的問題,可是每次都不了了之。ps 本人比較懶哈 國慶之後就要去深圳公司實習了,今天做...