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 相关文章推荐
json-lib出现There is a cycle in the hierarchy解决办法
Feb 24 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
May 03 Javascript
分享自己用JS做的扫雷小游戏
Feb 17 Javascript
JavaScript中const、var和let区别浅析
Oct 11 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
Oct 25 Javascript
JS基于onclick事件实现单个按钮的编辑与保存功能示例
Feb 13 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 Javascript
javascript利用canvas实现鼠标拖拽功能
Jul 23 Javascript
基于vue中的scoped坑点解说
Sep 04 Javascript
Vue全局事件总线你了解吗
Feb 24 Vue.js
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编程语言开发动态WAP页面
2006/10/09 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
python实战教程之自动扫雷
2018/07/13 Python
python内置模块collections知识点总结
2019/12/19 Python
如何将json数据转换为python数据
2020/09/04 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
C#基础面试题
2016/10/17 面试题
个人职业生涯规划书1500字
2013/12/31 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
小学生作文评语
2014/04/18 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
公司业务员管理制度
2015/08/05 职场文书
技术转让协议书
2016/03/19 职场文书
SpringBoot快速入门详解
2021/07/21 Java/Android
MySQL 语句执行顺序举例解析
2022/06/05 MySQL