IE6-IE9使用JSON、table.innerHTML所引發(fā)的問題
一、在IE兼容模式中以及各具有IE內(nèi)核的瀏覽器兼容模式中使用 jQuery 中的JSON函數(shù)時(shí)出現(xiàn)“JSON未定義” 而切換到瀏覽器高速模式則正常顯示
解決方案 :
1.直接在使用的頁面中引入json2.js (https://github.com/douglascrockford/JSON-js/blob/master/json2.js)引入方法不再贅述。
2.在頁面的公共js方法里判斷
if(typeof JSON == 'undefined'){ $('head').append($("<script type='text/javascript' src='.../json2.js'>")); //此處的位置為該js文件所在路徑 }
二、使用ajax時(shí),經(jīng)常需要動態(tài)生成頁面元素,而使用element上屬性innerHTML填充頁面HTML。但是在使用中發(fā)現(xiàn) table元素的innerHTML時(shí)賦值時(shí),在firefox下是好的,但在ie兼容模式中出現(xiàn)未知的運(yùn)行時(shí)錯誤。錯誤示例如下:
發(fā)現(xiàn)是在IE6-IE9下,下列元素table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset的innerHTML屬性是只讀的
解決方法:調(diào)用下面js方法
function setTableInnerHTML(table, html) {//table 為table對象,html為生成的html字符串 if (navigator && navigator.userAgent.match(/msie/i)) { var temp = table.ownerDocument.createElement('div'); temp.innerHTML = '<table>' + html + '</table>';//注意此處傳進(jìn)來的html變量包含“<tbody></tbody>”標(biāo)簽 如果HTML變量中沒有 則為 '<table><tbody>' + html + '</tbody></table>' table.replaceChild(temp.firstChild.firstChild, table.tBodies[0]);//用生成的div中table的tbody替換原table中的tbody } else { table.innerHTML = html; } }
以上內(nèi)容是小編給大家分享的IE6-IE9使用JSON、table.innerHTML所引發(fā)的問題,希望大家喜歡。
相關(guān)文章
JavaScript實(shí)現(xiàn)防止網(wǎng)頁被嵌入Frame框架的代碼分享
這篇文章主要介紹了JavaScript實(shí)現(xiàn)防止網(wǎng)頁被嵌入Frame框架的代碼分享,本文給出了2種防嵌入方法,需要的朋友可以參考下2014-12-12JS時(shí)間戳與日期格式的轉(zhuǎn)換小結(jié)
這篇文章主要介紹了JS時(shí)間戳與日期格式的轉(zhuǎn)換小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01解讀CocosCreator源碼之引擎啟動與主循環(huán)
這篇文章主要介紹了CocosCreator源碼解讀之引擎啟動與主循環(huán),對CocosCreator感興趣的同學(xué),可以研究參考一下2021-04-04JavaScript通過使用onerror設(shè)置默認(rèn)圖像顯示代替alt
這篇文章主要介紹了JavaScript通過使用onerror設(shè)置默認(rèn)圖像顯示代替alt的相關(guān)資料,需要的朋友可以參考下2016-03-03用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)
這篇文章主要介紹了用javascript讀取xml文件讀取節(jié)點(diǎn)數(shù)據(jù)的具體實(shí)現(xiàn),需要的朋友可以參考下2014-08-08學(xué)習(xí)JavaScript設(shè)計(jì)模式之裝飾者模式
這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式中的裝飾者模式,對JavaScript設(shè)計(jì)模式感興趣的小伙伴們可以參考一下2016-01-01javascript實(shí)現(xiàn)的一個(gè)帶下拉框功能的文本框
這篇文章主要介紹了javascript實(shí)現(xiàn)的一個(gè)帶下拉框功能的文本框,需要的朋友可以參考下2014-05-05