html5 拖拽上传文件时,屏蔽浏览器默认打开文件

本文介绍了在HTML5拖拽上传文件时,如何处理浏览器默认打开文件的行为,尤其是对于Chrome和IE浏览器。通过监听并阻止drop和dragover事件的默认行为,可以避免页面被覆盖导致内容丢失的问题。这种方法在Chrome和IE下有效,Firefox下虽然无效但已能满足需求,因为Firefox以新窗口预览文件,不影响页面本身。
摘要由CSDN通过智能技术生成

  我们在使用html5的拖拽上传时,做法往往是监听一个控件范围内的drop事件。但是用户在操作的时候往往会出现文件没有进入到控件范围内就释放的情况,这种情况在以下浏览器中会出现不同的情况,下面是实验结果:

    chrome: 如果该文件是浏览器可浏览文件(图片等),浏览器会在当前窗口打开文件的预览;如果是不可浏览文件,则会触发浏览器的下载

    fireFox: 如果该文件是浏览器可浏览文件(图片等),浏览器会在新窗口打开文件的预览;如果是不可浏览文件,则会触发浏览器的下载
    IE: 如果该文件是浏览器可浏览文件(图片等),浏览器会在当前窗口打开文件的预览;如果是不可浏览文件,则会触发浏览器的下载

  我们最不能接受的就是在 chrome 和 ie中的表现,因为我们的页面会被覆盖,填写的内容会丢失,为了避免这种情况的出现,我们需要做一些处理。说白了就是通过禁用浏览器的默认行为来禁止浏览器触发drop事件。代码如下所示:

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值