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 相关文章推荐
详解JavaScript语言的基本语法要求
Nov 20 Javascript
jQuery中get方法用法分析
Dec 07 Javascript
设置cookie指定时间失效(实例代码)
May 28 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
详解React 16 中的异常处理
Jul 28 Javascript
vue 子组件向父组件传值方法
Feb 26 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
Mar 05 Javascript
vue通过点击事件读取音频文件的方法
May 30 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
Angular(5.2-&gt;6.1)升级小结
Dec 27 Javascript
JS实现前端动态分页码代码实例
Jun 02 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 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判断远程url是否有效的几种方法小结
2011/10/08 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
input按钮的事件处理大全
2010/12/10 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
js将字符串转成正则表达式的实现方法
2013/11/13 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
jQuery序列化后的表单值转换成Json
2017/06/16 jQuery
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
python的socket编程入门
2018/01/29 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
屏蔽Django admin界面添加按钮的操作
2020/03/11 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
ASP.NET Core中的配置详解
2021/02/05 Python
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
澳大利亚电商Catch新西兰站:Catch.co.nz
2020/05/30 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
专科毕业生求职简历的自我评价
2013/10/12 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang