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 相关文章推荐
js+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
javascript判断机器是否联网的2种方法
Aug 09 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
JavaScript设计模式之策略模式实例
Oct 10 Javascript
jQuery实现的自适应焦点图效果完整实例
Aug 24 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
jQuery中extend函数简单用法示例
Oct 11 jQuery
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
浅析Vue.js中v-bind v-model的使用和区别
Dec 04 Javascript
实例详解vue中的$root和$parent
Apr 29 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
Sep 11 Javascript
原生js实现无缝轮播图效果
Jan 28 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
Terran魔法科技
2020/03/14 星际争霸
PHP 学习路线与时间表
2010/02/21 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
用jquery来定位
2007/02/20 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
js 无提示关闭浏览器页面的代码
2010/03/09 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
2012/12/17 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
2020/01/18 Javascript
python二叉树的实现实例
2013/11/21 Python
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Python3读取zip文件信息的方法
2015/05/22 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
Python数据结构dict常用操作代码实例
2020/03/12 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
党员学习十八大感想
2014/01/17 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
少先队学雷锋活动总结范文
2014/03/09 职场文书
工会换届选举方案
2014/05/21 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android