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 相关文章推荐
取得一定长度的内容,处理中文
Dec 20 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
Jan 17 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
js使用for循环查询数组中是否存在某个值
Aug 12 Javascript
jQuery中is()方法用法实例
Jan 06 Javascript
深入理解JS addLoadEvent函数
May 20 Javascript
vue.js事件处理器是什么
Mar 20 Javascript
JQuery 进入页面默认给已赋值的复选框打钩
Mar 23 jQuery
解决Extjs下拉框不显示的问题
Jun 21 Javascript
使用D3.js制作图表详解
Aug 13 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
node.js到底要不要加分号浅析
Jul 11 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实现今天是星期几的几种写法
2013/09/26 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Windows系统下多版本pip的共存问题详解
2017/10/10 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
Python对List中的元素排序的方法
2018/04/01 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
python命令行参数用法实例分析
2019/06/25 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
python计算导数并绘图的实例
2020/02/29 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
软件测试工程师笔试题带答案
2015/03/27 面试题
解释下列WebService名词:WSDL、SOAP、UDDI
2012/06/22 面试题
公司廉洁自律承诺书
2014/03/27 职场文书
高中家长意见怎么写
2015/06/03 职场文书
大学生暑假实习总结
2015/07/13 职场文书
Spring中的使用@Async异步调用方法
2021/11/01 Java/Android