IE8相容性問題記錄

2021-09-02 06:47:26 字數 1316 閱讀 9493

最近公司的專案要求支援ie8,所以就開始了做ie8的相容了,本人記錄了遇到的問題極其解決方案

之前在chrome中能夠正常執行,在ie8中出現的問題

ie8中不支援就query中的getjson()方法,這個可以在自己的工具類js中封裝,

封裝如下

var tool = function() {};

too.getjson = function (url, params, success, asynous, error, load) );

};

另外最後一行綠色標註的地方注意,如果後面加了",",可能在ie中會報"缺少識別符號、字串或者數字的異常",另外報相同錯誤的可能原因還有在json字串的key中使用了js的關鍵字,如:class,

2.如果**中有console語句會出現console未定義的錯誤,我當時是去掉了,如果有更好的解決方案請提出

3.ie8中不識別json,如果要使用json.parse或者stringify方法,可以在**中新增如下**

var json = json || {};

// implement json.stringify serialization

json.stringify = json.stringify || function (obj)

else

return (arr ? "[" : "");}};

// implement json.parse de-serialization

json.parse = json.parse || function (str) ;

該**來自:

其他方案也有可行的,自己嘗試

4.table中的樣式display:none;可能導致不顯示,可以改為block table-row

其他更過ie相容參見:

5.關於同樣的url在其他瀏覽器可能經過編碼了,但是ie中是沒有編碼的,所以你訪問時會出現錯誤,你可以在url開啟前進行編碼,使用encodeuri(url)就行,但是這樣你如果有鏈結跟後面相同,則會在連續切換幾次後鏈結失效,實際上不是鏈結失效了,而是因為每次你都在解析,尤其%解析後是%25,如果你發現你的url中含有很多25,這就是你每次轉碼後沒有解碼的結果,處理方式是,encodeuri(decodeuri(url)).

6.關於樣式問題,在使用的樣式中如果使用display:none想要達到隱藏的效果但是有些東西就是隱藏不了,你可以使用visibility:hidden;另外自己寫的滑鼠移上去提示效果,有時在其他的瀏覽器都行,但是在ie就行,如果是其他的文字什麼的可以使用title="提示的文字",如果是的提示可以使用alt=""

後續慢慢更新.....

IE 相容性問題記錄

文件模式 文件模式的主要作用是影響瀏覽器顯示網頁html的方式,在接到返回的html檔案後,決定以哪個ie版本的文件模式解析該頁面 舉例來說 js指令碼就是依賴文件模式,ie9的js變化就需要ie9文件模式來支援 瀏覽器模式的主要作用是為相容較早版本的ie,它會控制瀏覽器發出的useragent,表...

IE8相容性問題彙總

這裡會存放ie7,8關於相容性的問題.ie8發布了這麼久,大家對它都懷著很高的期望,但是缺陷也不少,取消了很多的屬性,這對web開發人員來講,面臨的是轉變.原本的document.body.clientwidth沒了,div align沒了,速度更加慢了.至今搞不懂ie8為什麼要將clientwid...

記錄遇到的IE8相容性問題彙總

1,偽元素 first child不起作用,需要單獨指定樣式名稱 2,透明度表示方法,尤其在函式中表示 mixin opacity value 3,input文字垂直居中,在ie8 之文字不預設垂直居中。解決 必須設定line height 4,接文3 相容了ie的文字不居中之後,開啟safari再...