解决input[file]标签的accept=”image/*”属性响应很慢问题

input[file]标签的accept属性可用于指定上传文件的MIME类型。

例如,想要实现默认上传图片文件的代码,代码可如下:

<input type="file" name="file" class="element" accept="image/*">
效果如下图所示,默认过滤掉所有非图片文件:

但是!

这段代码在Chrome和Safari等Webkit浏览器下却出现了响应滞慢的问题,可能要等 6~10s 才能弹出文件选择对话框。简直不能忍呀。

在IE和Firefox中使用 accept=”image/*” 属性则没有发现响应延迟的问题。

于是几经尝试后,发现是 accept=”image/*” 属性的问题,删掉它或者将 * 通配符修改为指定的MIME类型,就可以解决Webkit浏览器下的对话框显示滞慢的问题。

解决办法如下:

<input type="file" accept="image/gif,image/jpeg,image/jpg,image/png,image/svg">
accept=”image/*” 属性会对每一个文件都遍历一次所有的”image/*”文件类型,当文件较多时,文件的检验时间较长,这可能是Webkit的底层实现的bug。

另外,

accept=”audio/*” 和 accept=”video/*” 属性 在 Webkit浏览器下也会有同样的响应延迟的问题。同理,通过将 * 通配符 修改成指定的MIME类型就可解决。

时间: 2024-11-08 21:49:17

解决input[file]标签的accept=”image/*”属性响应很慢问题的相关文章

html5-HTML5中的input file标签

问题描述 HTML5中的input file标签 其中,accept限制类型,capture说是选择默认设备摄像机,为什么好像capture没作用呢?加与不加都是可以选择相机和相册,不知道能不能让该标签只触发选择相机功能呢? 解决方案 http://silverlightchina.net/html/HTML_5/study/2013/0216/21858.html

从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别_jquery

背景: 在清空input file标签选中值时,分别用了以下方法,发现有的对有的错: [√]$("#file")[0].value = ""; [√]$("#file")[0].value = null; [×]$("#file").attr("value",""); [×]$("#file").attr("value",null); [√]$(&

如何解决input file 选取相同文件后,change事件不起作用解决方法

两种方法 1.在你的input所属的form表单reset()就可以了! $("#avatorForm")[0].reset();  2.设置你的input file value值为空 $('.inputImage').val('');  

解决IE浏览器input file隐藏不能上传文件问题

又是IE的一个问题,近来是跟IE浏览器磕上了,这个问题发现不少人也遇到过,实在蛋疼.但今天这个不能算是一个bug,因为IE可能是从安全角度上考虑结果导致的.一步步来解读. 普通上传例子 首先普通的文件上传呢,很简单,前端代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>file标签隐藏</title> </head> &l

提示No input file specified的解决方法

  (一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi.force_redirect = 1 去掉前面分号,把后面的1改为0 即 cgi.force_redirect = 0 (二)apacheNo input file specified apache No input filespecified,今天是我们配置apache RewriteRule

利用Nginx下伪静态规则解决“No input file specified”问题

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 昨天把博客转到了新的空间,解析了域名,今天发现能ping通了,首页能打开,但是点击详细页面的时候却发现网页一片空白,只有一行提示字:No input file specified. 网上搜索了一下,有各种说法,都未能解决.后来找到比较接近成功的解决方法,就是添加如下伪静态规则: RewriteEngine?On RewriteBase?/ R

php提醒 No input file specified错误解决方法

本文转自IT摆渡网欢迎转载,请标明出处 更多php文章请阅读 php程序修复 配置完服务器(IIS + Fastcgi + PHP 5.3.2),运行时候没想到出现"No input file specified"的错误提示,百度了下网上的方法都试了,像屏蔽doc_root.目录加权限.修改缓冲池等等都不凑效,后来自己多方查资料,终于解决了,原来解决办法如此之简单,方法如下: 1.在你的PHP目录下找到php.ini,在里面增加如下一行(重要): fastcgi.impersonate

apache No input file specified的解决办法

apache No input file specified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下 打开.htaccess 在RewriteRule 后面的index.php教程后面添加一个"?" 完整代码如下 .htaccess RewriteEngine on RewriteCond $1 !^(index.php|images|robots.txt)   RewriteRule ^(.*)$ /index.php?/$1 [L] 如

解决Nginx下”No input file specified” 问题

如果你在使用Nginx和php-cgi,在按照一些标准流程安装后,可能会遇到"No input file specified"这样子的错误提示.这种错误通常发生在php-cgi进程无法找到".php"文件或者执行"SCRIPT_FILENAME"传过来的参数.这篇文章讨论发生这种错误的几个原因和解决方法. (1)错误的路径 通常而言,文件路径(SCRIPT_FILENAME)设置错误,以致fastCGI进程无法解析.在多数案例中,主要由于Ngin