【发布时间】:2016-03-22 22:01:22
【问题描述】:
当我点击“选择要上传的文件”(即输入类型=文件)时,在我点击按钮并选择文件到在按钮旁边显示选定文件之间存在延迟。浏览器是否尝试将文件加载到浏览器中?为什么会有延迟。
跟进,如何在选择文件后立即显示“请稍候..”消息。我尝试了各种 JQ 选项,似乎都在初始延迟后触发(正如我所说,可能是浏览器正在尝试加载不确定的文件)我想用加载器小部件/消息来覆盖延迟。
请帮忙。
【问题讨论】:
-
你能创建一个stacksn-ps来演示“延迟”吗? “延迟”的持续时间是多少?
-
延迟可能是 1/4 秒到 2 秒或更多,具体取决于我尝试选择的文件的大小。我尝试了多台机器,看起来像标准延迟。从我选择文件到“选择文件”旁边显示的文件名(此示例适用于 chrome)。如果它是标准的或浏览器正在尝试读取该文件,我可以延迟,但我如何在浏览器开始读取文件之前拦截以显示“加载器”小部件。所有的 JQ 事件都是在浏览器红色文件之后发生的。
-
您可以使用
change事件来显示“Loader”小部件,然后在FileList对象在change处理程序中定义后删除小部件。文件的内容长度是多少? -
我正在使用 500K 到 2M 左右的文件进行测试。我尝试了 $("input[type=file]").change(function(){ 并在延迟后触发。远程执行我需要的唯一方法是使用 $("#logox").click(function (e){ e.preventDefault(); $("input[type=file]").trigger("click"); }); 并传递控件进行更改,
-
上述问题是如果我在触发器之前使用 $.mobile.loader('show') 并且如果用户取消上传文件选择器(Windows 窗口),那么我无法取消它。无论哪种方式,我都很好奇浏览器发生了什么
标签: javascript jquery browser-cache