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


Posted in Javascript onDecember 22, 2015

 一、在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($("<script type='text/javascript' src='.../json2.js'>")); //此处的位置为该js文件所在路径

}

二、使用ajax时,经常需要动态生成页面元素,而使用element上属性innerHTML填充页面HTML。但是在使用中发现 table元素的innerHTML时赋值时,在firefox下是好的,但在ie兼容模式中出现未知的运行时错误。错误示例如下:

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

发现是在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 = '<table>' + html + '</table>';//注意此处传进来的html变量包含“<tbody></tbody>”标签  如果HTML变量中没有 则为 '<table><tbody>' + html + '</tbody></table>'
    table.replaceChild(temp.firstChild.firstChild, table.tBodies[0]);//用生成的div中table的tbody替换原table中的tbody
  } else {
    table.innerHTML = html;
  }
}

以上内容是小编给大家分享的IE6-IE9使用JSON、table.innerHTML所引发的问题,希望大家喜欢。

Javascript 相关文章推荐
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
JavaScript使用技巧精萃[代码非常实用]
Nov 21 Javascript
js获取或设置当前窗口url参数的小例子
Oct 14 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
Sep 17 Javascript
jQuery实现转动随机数抽奖效果的方法
May 21 Javascript
异步JS框架的作用以及实现方法
Oct 29 Javascript
js学习总结之dom2级事件基础知识详解
Jul 27 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
微信小程序合法域名配置方法
May 06 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 18 Javascript
vue项目强制清除页面缓存的例子
Nov 06 Javascript
JavaScript对象原型链原理解析
Jan 22 Javascript
JavaScript+CSS无限极分类效果完整实现方法
Dec 22 #Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
Dec 22 #Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 #Javascript
js实现C#的StringBuilder效果完整实例
Dec 22 #Javascript
JavaScript判断对象是否为数组
Dec 22 #Javascript
javascript中类的定义方式详解(四种方式)
Dec 22 #Javascript
jquery获取select选中值的方法分析
Dec 22 #Javascript
You might like
用PHP ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
phpmail类发送邮件函数代码
2012/02/20 PHP
PHP表单数据写入MySQL数据库的代码
2016/05/31 PHP
PHP加密技术的简单实现
2016/09/04 PHP
PHP的反射机制实例详解
2017/03/29 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
2019/05/14 PHP
读jQuery之十 事件模块概述
2011/06/27 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
Node.js实现数据推送
2016/04/14 Javascript
javascript日期比较方法实例分析
2016/06/17 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
Python3如何在Windows和Linux上打包
2020/02/25 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
PHP面试题集
2016/12/18 面试题
会计电算化专业毕业生自荐信
2013/12/20 职场文书
军训生自我鉴定范文
2013/12/27 职场文书
个人投资计划书
2014/05/01 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
门球健将观后感
2015/06/16 职场文书
小学生暑假生活总结
2015/07/13 职场文书