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内核之基本概念
Oct 21 Javascript
分享一款基于jQuery的视频播放插件
Oct 09 Javascript
理解jQuery stop()方法
Nov 21 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
Mar 21 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
Nov 28 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
Vue axios 跨域请求无法带上cookie的解决
Sep 08 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
Dedecms常用函数解析
2008/02/01 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
php常用数组函数实例小结
2016/12/29 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
让您的菜单不离网站
2006/10/03 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
使用vue如何构建一个自动建站项目
2018/02/05 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
解决vue prop传值default属性如何使用,为何不生效的问题
2020/09/21 Javascript
Python映射拆分操作符用法实例
2015/05/19 Python
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
解读! Python在人工智能中的作用
2017/11/14 Python
详解python里的命名规范
2018/07/16 Python
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
SQL Server笔试题
2012/01/10 面试题
文员自我评价怎么写
2013/09/19 职场文书
创先争优公开承诺书
2014/08/30 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
个人年终总结范文
2015/03/09 职场文书