作者megaman1206 (megaman)
看板Ajax
標題[心得] jQuery + Prototype
時間Sat Oct 31 17:54:57 2009
jQuery語法簡潔有力, 是許多人的最愛
但是在某些地方卻也顯得不太夠用, 得要與其他framework/library互補不足
而在與比較相似的Prototype同時使用時, 卻可能產生衝突的問題
目前在google上能找到的相容方法不外乎是jQuery官方提供的:
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
但是大部分情況我們會用jquery比較多, 卻要讓jquery遷就Prototype
如此用起來反而彆扭不少
因此我反其道而行, 打算讓Prototype遷就jQuery
Prototype可拆分為三份, Ajax, DOM, 以及擴充Native Language
前兩項通常我們都會直接以jQuery處理掉
而最後一部分就是我們通常想拿來補足jQuery不足的部分
看看這精美的工具組:
http://api.prototypejs.org/language_section.html
說到jQuery與Prototype相衝的部分, 都是在DOM的部分
因此若我們只需要Language extension的話, 是不用擔心其問題的, 因為這部分沒用到$
而好消息是, 我們可以只取得那個部分, 而不用從prototype.js分割出來:
http://github.com/sstephenson/prototype
很清楚可以看到, 在src目錄內, 清楚的分成三個部分
而我們所需要的幾乎都在lang目錄內
除此之外我們也需要prototype.js以及lang.js
所以我們只需要把這些js壓縮在一起就可以直接用了(過程就不詳述了)
此外我還將去除ajax以及dom的部分使用官方提供的unit-testing驗證是否會有問題
一開始還沒修改過的時候有些test不會通過, 因為那些都使用到了DOM部分的語法
因此我使用jQuery將Prototype的DOM語法改寫(測試部分, 非framework)
最後所有的test都通過了, 也證明了我們是可以只使用其中一部分並與jQuery合作的
最後附上整合壓縮過的js檔, 以及unit-testing檔案
http://megaman.garbagecan.googlepages.com/prototype-lang-1.6.1.zip
以上心得有錯請鞭, 謝謝m(_ _)m
--
Messenger 表情符號工具
快速備份以及加入MSN(WLM)表情符號的好工具
http://blog.roodo.com/garbagecan/archives/2646156.html
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.1.100
1F:→ ileadu:好酷啊 可是這個你整合壓縮版 能有不壓縮版的給看嗎? 11/01 00:06
2F:→ ileadu:不然prototype.js 都是經過混淆器弄過 看不到裡面是啥了 11/01 00:07
3F:→ megaman1206:不過我照官方指引make的時候, 他也只是把那些js 11/01 00:11
4F:→ megaman1206:接起來罷了 11/01 00:11
5F:→ megaman1206:沒壓縮過的在 unit-testing\assets\prototype.js 11/01 00:12
※ 編輯: megaman1206 來自: 220.134.1.100 (11/01 00:22)
6F:→ ileadu:恩 .. 感恩 11/01 08:38
7F:→ ileadu:你可以弄成英文版 丟到jQuery論壇上了 我想滿多人需要的 11/03 10:53
8F:推 aiyswu:看不懂, 能作的只有話加油了 11/05 21:09