shim和polyfill有什麼區別?
12-29
shim 是硬墊片,polyfill 是軟墊片。
硬墊片可能被感覺到,軟墊片基本感覺不到。
What is the difference between a shim and a polyfill?
polyfill 是 shim 的一種。
shim 是將不同 api 封裝成一種,比如 jQuery 的 $.ajax 封裝了 XMLHttpRequest 和 IE 用 ActiveXObject 方式創建 xhr 對象;
polyfill 特指 shim 成的 api 是遵循標準的,其典型做法是在IE瀏覽器中增加 window.XMLHttpRequest ,內部實現使用 ActiveXObject。
在實際中為了方便做對比,會特指 shim 的 api 不是遵循標準的,而是自己設計的。推薦閱讀:
※qq空間背景音樂是如何實現頁內跳轉時不間斷播放的?
※網站根目錄沒有索引文件 ( index.html ) 會影響 SEO 嗎?
※為什麼在 HTML 發展初期開發者使用表格元素排版?
※HTML5 中的 b/strong,i/em 有什麼區別?
※「Radio Button」的來歷是什麼?
TAG:前端開發 | HTML | CSS | JavaScript | HTML5 |