2010-07-28 111 views
4

是否有JavaScript庫提供與特定實現的向前兼容性?例如,這樣一個庫可以在各種瀏覽器中以可移植的方式提供JavaScript 1.6中的功能。它應該在可用時利用對該功能的本機支持。JavaScript兼容性庫

一些像JQuery或Prototype這樣的框架提供的功能與新版本的JS中的功能相同,但是我想要減少我使用的庫的大小,並確保完全符合標準或發佈版本。

是否存在這樣的庫?谷歌和維基百科在這個話題上沒有太多的話要說。

回答

2

看起來好像有這樣一個庫:「JavaScript標準庫」(JSL)。它旨在爲支持JS 1.2或更高版本的瀏覽器提供儘可能多的JS 1.6兼容性。

我還沒有使用它,我不確定它的工作效果。文件用粗略的英文寫成;這可能表明缺乏廣泛的使用,因爲否則有人可能現在已經糾正它。

爲了增加混亂,該網站鏈接到一個JSL Revision,位於不同的網站,它的功能列表表明,它提供了一個子集在main page列出的功能

作者已經寫了更多關於這個庫和關於this blog post中涉及的一般概念。

1

例如,這樣一個庫可以在各種瀏覽器中以可移植的方式提供JavaScript 1.6中的功能。它應該在可用時利用對該功能的本機支持。

這幾乎是框架所做的,並做得很好(儘管它們關閉的大多數兼容性差距都與DOM和CSS相關)。我不知道有一個關注前向兼容性的通用框架。不知道是否可以存在,因爲查看the Wikipedia article,任何版本的許多改進都是非常非常難以在舊版本的語言中模擬的構造和行爲(例如,let,表達式閉包...)

+1

好點。這發生在我身上,但我認爲JS 1.6可能沒有指定任何此類功能。但是,[更多研究](https://developer.mozilla.org/en/new_in_javascript_1.6)後,我意識到我錯了。 – intuited 2010-07-28 21:52:30

+0

@intuit很好找!有些功能可能可以在舊版本中模擬(儘管我不想成爲負責實現它的人員:D),但許多事情(特別是數組和字符串泛型)不能。 – 2010-07-28 21:56:14

+0

看起來'for each'語法對於庫實現肯定是不可取的。對我來說,似乎可以通過覆蓋各種數組和字符串原型方法來實現數組和字符串泛型。但是,我只是第一次真正檢查了這一點;我總是將JS編碼爲1.5,並避免瞭解更新版本的功能。 – intuited 2010-07-28 23:42:39