最近公司的專案要求支援ie8,所以就開始了做ie8的相容了,本人記錄了遇到的問題極其解決方案
之前在chrome中能夠正常執行,在ie8中出現的問題
ie8中不支援就query中的getjson()方法,這個可以在自己的工具類js中封裝,
封裝如下
var tool = function() {};另外最後一行綠色標註的地方注意,如果後面加了",",可能在ie中會報"缺少識別符號、字串或者數字的異常",另外報相同錯誤的可能原因還有在json字串的key中使用了js的關鍵字,如:class,too.getjson = function (url, params, success, asynous, error, load) );
};
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再...