您好,欢迎访问一九零五行业门户网

IE6-IE9使用JSON、table.innerHTML所引发的问题_javascript技巧

一、在ie兼容模式中以及各具有ie内核的浏览器兼容模式中使用  jquery 中的json函数时出现“json未定义”  而切换到浏览器高速模式则正常显示
解决方案 :
1.直接在使用的页面中引入json2.js (https://github.com/douglascrockford/json-js/blob/master/json2.js)引入方法不再赘述。
2.在页面的公共js方法里判断
if(typeof json == 'undefined'){ $('head').append($()); //此处的位置为该js文件所在路径}
二、使用ajax时,经常需要动态生成页面元素,而使用element上属性innerhtml填充页面html。但是在使用中发现 table元素的innerhtml时赋值时,在firefox下是好的,但在ie兼容模式中出现未知的运行时错误。错误示例如下:
发现是在ie6-ie9下,下列元素table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset的innerhtml属性是只读的
解决方法:调用下面js方法
function settableinnerhtml(table, html) {//table 为table对象,html为生成的html字符串 if (navigator && navigator.useragent.match(/msie/i)) { var temp = table.ownerdocument.createelement('div'); temp.innerhtml = '' + html + '
';//注意此处传进来的html变量包含“”标签 如果html变量中没有 则为 '' + html + '
' table.replacechild(temp.firstchild.firstchild, table.tbodies[0]);//用生成的div中table的tbody替换原table中的tbody } else { table.innerhtml = html; }}
以上内容是小编给大家分享的ie6-ie9使用json、table.innerhtml所引发的问题,希望大家喜欢。
其它类似信息

推荐信息