關於相容問題的小總結(1)

2021-10-09 17:46:53 字數 890 閱讀 9284

polyfill的準確意思為:用於實現瀏覽器並不支援的原生api的**。

例如,queryselectorall是很多現代瀏覽器都支援的原生web api,但是有些古老的瀏覽器並不支援,那麼假設有人寫了庫,只要用了這個庫, 你就可以在古老的瀏覽器裡面使用document.queryselectorall,使用方法跟現代瀏覽器原生api無異。那麼這個庫就可以稱為polyfill或者polyfiller。

那麼問題就來了。jquery是不是乙個polyfill?答案是no。因為它並不是實現一些標準的原生api,而是封裝了自己api。乙個polyfill是抹平新老瀏覽器 標準原生api 之間的差距的一種封裝,而不是實現自己的api。

已有的一些polyfill,如 polymer 是讓舊的瀏覽器也能用上 html5 web component 的乙個polyfill。flashcanvas是用flash實現的可以讓不支援canvas api的瀏覽器也能用上canvas的polyfill。

這裡有一堆polyfills:html5 cross browser polyfills

總結:

一般情況下html5shiv、respond這2個搭配使用。

modernizr 包括那2個,並且比他們更強大一些。

//解決方案:

var page =

;page.x =

event

.x ?

event

.x :

event

.pagex;

page.y =

event

.y ?

event

.y:event

.pagey;

小程式相容問題

問題1 小程式ios端的margin bottom無效。解決辦法 用padding bottom替換。問題2 小程式ios端的日期為nan nan.原因 一般日期為 2020 08 08 08 08 08 格式,ios日期只支援 2020 08 08 08 08 08 解決辦法 運用正則轉為需要的i...

關於IE相容問題

針對ie6 7 8 可以分為兩種模式 怪異模式 quirks mode 和標準模式 standards mode 在ie6以下版本下顯示怪異模式,border和padding都包含在width中 使用ie7編譯 也可以引進相應的js外掛程式去解決html5和css3的問題,但是只能在小範圍內或者單頁...

最新相容問題總結

相容問題解決方案。1 在做 之前,先把下邊三句meta加入頁面。2 pc端相容瀏覽器不能用 html5 新增的標籤。3 偽元素也不能用,在移動端可以用。4 如果想針對某乙個瀏覽器,設定單獨的屬性值,可以 如 class 針對 ie7特製識別的 css樣式 html class 針對ie8特製識別的c...