IE9兼容问题

本篇文章记录下我最近在兼容IE9所遇到的问题以及解决方法
1、button中添加其他标签在IE9中会失效

<button type='button'><input value='登录' name='submit'></button>
//此写法在谷歌、360及火狐等常规浏览器中运行正常,但在IE9及以下版本,button中的input无法解析,在input中的事件无法执行,解决方式是将button标签改为其他标签,如span、div等;

2、innerHtml方法IE9中为只读,无法赋值

我们经常使用xxx.innerHTML=HTML片断来生成节点元素,再把它们插入到目标元素的各个位置上,实际上就是insertAdjacentHTML,但在IE9中,innerHtml方法IE9中为只读,无法赋值给元素赋值,且报错为‘该操作的目标文件无效’,该问题解决方法如下:
(1)、appendChild()
(2)、replaceChild()
(3)、使用jq的方法XXX.html();

3、type=file 点击附件无法上传
本次遇到的问题是type=file在IE9中能正常点击选择附件,但无法获取附件内容,解决思路如下:
(1)、由于IE不支持formData的方法,故在提交时需使用form.ajaxSubmit(option)方法来提交表单;
(2)、如果您此时仍然提交失败,建议尝试更换jq库的版本,我们是在使用ajaxSubmit后仍无法正常提交,将本来引用的jq库3.4.0版本更换为1.7.2版本,测试成功,建议引入2.0版本一下的jq;
(3)、如果执行到这一步仍然失败,查看后台接口返回格式是否为字符串:

$.ajax({
		 url: "/upload",
        type: 'POST',
        cache: false,
        data: '',
        dataType:'text',//不要使用json格式,在IE中后台返回json格式在IE中无法解析,要写成字符串的格式返回
         processData: false,
         contentType: false,
         success:
         error:
});
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值