[英]Wanted: Minimal cross-browser Javascript library
我知道一些Javascript,但只是意識到我對跨瀏覽器問題知之甚少。 令人討厭的小東西,比如IE中事件回調中的this
對象(如xhr.onreadystatechange = function () { ... }
),不是指應用函數的對象,而是指向window
,這不是很有用。
是否還有一個圖書館,涵蓋了這些令人討厭的跨瀏覽器問題,而沒有向您推銷整個生活方式以及帶有幻燈片效果的圓角? 我知道jQuery是偉大的(模塊化,我知道,UI是額外的;我打賭其他人也很棒),但我正在尋找一些精益,更接近根源的東西。 只做最小化並消除骯臟。 不必將DOM包裝在糖中。
更新
謝謝大家的建議。 我要看看MyLib,microJS,Ender和Sizzle。 GWT雖然肯定是跨瀏覽器,但我認為並不是一種輕量級的方法,但絕對是一個有趣的方法。
jQuery不是模塊化的 - 它是全有或全無。 如果你想要一個可以修剪到最低要求的可靠的跨瀏覽器庫,那么很難超越MyLibrary : http : //www.cinsoft.net/mylib.html 。
名稱“MyLibrary”意味着當您下載並自定義它時,它將成為您的庫。
它絕對堅固,快速且極其模塊化。 您可以只使用您想要的位並刪除任何不必要的內容。
順便說一句,像jQuery這樣的許多庫並不是真正的“跨瀏覽器”,它們是多瀏覽器 - 它們擁有一組有限的瀏覽器,它們支持並且不關心其余的。 另一方面,MyLibrary被寫成真正的跨瀏覽器。 它還提供了出色的功能檢測快捷方式,因此您可以輕松編寫具有回退功能的強大代碼。
我想你應該看看Ender By Dustian Diaz和Jacob Thornton在Twitter工作。
Ender不是傳統意義上的JavaScript庫。 所以不要急於嘗試用Ender取代jQuery或MooTools ......它只是不起作用......但是! 你可以從Ender建立一個庫。 你應該。 馬上。
這是因為:Ender是一個開放的,功能強大的微到宏API,用於編寫自己的自定義JavaScript庫; 它將應用程序無關的獨立模塊包裝成一個光滑,直觀,熟悉的界面,因此您不必這樣做。
那么這個問題this
在JavaScript的是,它可以是一個有點混亂給人們哪些不習慣的事實,它總是得到一個上下文值或者換句話說,它會永遠指向這是在的當前上下文對象執行代碼。
在某些事件,間隔等的情況下,它指向窗口是絕對正常的,因為JavaScript中的LOT(可能太多)屬性附加到窗口對象。
至於你的工作使用哪個JS庫......如果你不想整體使用jQuery,那么它總是最重要的部分來處理DOM中對象的選擇,對於跨瀏覽器來說非常重要兼容性。
它叫做Sizzle ,可以在這里找到。 它不提供像jQuery那樣的花哨的東西,但它很小,並提供了一種很好的跨瀏覽器方式來選擇頁面上的東西。
你可以看看GWT ..但它確實也為你提供了一種生活方式 - 一個Java開發環境。 但這也帶來了一個調試器,一個合適的IDE,更容易的OO,它編譯成優化的跨瀏覽器javascript等。你總是可以在你認為合適的地方混合搭配原生JavaScript。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.