IE兼容笔记(一):兼容IE9表单上传文件

本文主要介绍了在IE9中处理文件上传的兼容性问题,包括如何通过表单直接提交上传,处理<input type='file'>的onchange事件,解决点击文件输入框样式美化以及避免提交表单后跳转的方法。内容涉及到ActiveXObject的使用,隐藏input标签的美化技巧,以及利用iframe防止页面跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几年前做兼容IE8的pc端项目的时候就遇到文件上传的需求,当时也是查看文档来解决IE9以下不支持formData的问题。由于之前没有写博客的习惯,最近又遇到这样的需求,所以写出来想帮助需要用到的朋友。

 

本身文件上传不难,只需要注意一些细节:

  1. 用最初的表单提交的方式form.submit()
  2. <input type='file'> onchange问题
  3. 点击<input type='file'>问题
  4. 提交表单后跳转问题

 

一,用最初的表单提交的方式form.submit()

     在IE9中不支持formData对象,无法使用ajax上传文件,所以通过在一个form表单中直接提交到服务器上传。

<form>
    <input type="file">
</form>
<button onclick="submit()">上传</button>

<script>
    function submit() {
        var form = document.forms[0]
        form.submit()
    }
</script>

    注意:如果要获取file的内容,主流浏览器可以通过获取input对象e.files[0]拿到,在IE9以下由于安全策略的因素不支持直接获取,但是可以通过微软在IE浏览器下支持的ActiveXObject对本地文件进行操作(有关ActiveXObject对象的了解可以

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值