常見包的作用(佛系整理)

code-js

通常使用babel會間接的引入core-js

core-js提供了es5、es6的polyfills,包括promises、symbols、collections、iterators、typed arrays等等,並可以按需加載,使用它不會污染全局命名空間。

注意點:

  • polyfills
    前端通常在開發時需要考慮到瀏覽器對js,html5的支持,這些兼容都可以使用polyfills去處理。
    Polyfills 是由 RemySharp 提出的一個術語。如果瀏覽器中存在該功能,則polyfill可以讓瀏覽器執行其操作,否則,polyfill會插入缺少的功能。填補了舊版瀏覽器的空白,然後就可使用缺失功能。

  • html5shim
    html5shim(也就是 html5shiv) 能夠自動完成了設置 IE 瀏覽器和新語義元素的兼容性。
    主要解決HTML5提出的新的元素不被IE6-8識別,這些新元素不能作爲父節點包裹子元素,因此,即使舊的 IE瀏覽器顯示了 HTML5 的新語義元素,但不能應用CSS樣式。
    解決方式:
    讓CSS 樣式應用在未知元素上只需執行 document.createElement(elementName)
    即可實現。html5shiv就是根據這個原理創建的。

    使用:

<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
  • shim 和 polyfill

  • localStorage的兼容
    HTML5 提供了兩種在客戶端存儲數據的新方法:
    localStorage - 沒有時間限制的數據存儲
    sessionStorage - 針對一個 session 的數據存儲
    其中localStorage 是最常用的,但是IE8以下不支持該特性。
    使用ployfiller可以讓舊版的瀏覽器也支持這樣的特性。
    Storage polyfiller
    store.js
    AmplifyJS

Remy Sharp 的Storage polyfiller完美的模仿 HTML5 localStorage API
store.js 和 AmplifyJS 存儲模塊提供了很大範圍的舊瀏覽器兼容支持

  • Modernizr
    Modernizr 是一個 JavaScript 庫,用於檢測用戶瀏覽器的 HTML5 與 CSS3 特性。它內建了 html5shim 功能。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章