在输入字段中选择文件后浏览器冻结

问题描述 投票:0回答:2

我有一个包含输入文件字段的表单[

<input type="file" id="select-file" accept=".md"><label for="select-file">Select import file</label>
]。它为更改事件定义了一个 jQuery 处理程序 [
$("#form").on("change", "#select-file", handler)
],一旦我选择了一个文件,就会触发该事件。

它可以在使用 Firefox 的 Linux workhome 以及使用 Firefox 和 Chrome 的 Windows 上完美运行。

在使用 Chrome 或 Firefox 的 Windows work 中,浏览器在选择文件后会冻结约 8 秒。只有在此间断之后,我才能按下表单上的其他按钮并触发“更改”事件。

抛开 Windows 和工作不相匹配的假设,冻结似乎与工作中可用的不同网络磁盘有关。谁能建议我必须检查什么,并希望有一种方法可以避免冻结?谢谢!

小例子:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>File Select</title>
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
</head>
<body>
<div id="import-form">
    <input type="file" id="select-file" accept=".md">
    <label for="select-file">Select a file</label>
    <p id="selected-file">No file selected</p>
</div>
<script>
$("#import-form").on("change", "#select-file", function(e) {
    $("#selected-file").text(e.target.value.split('\\').pop());
});
</script>
</body>
</html>
javascript jquery performance google-chrome firefox
2个回答
6
投票

使用任何文件字段后,Chrome 会冻结几秒钟。

这是因为我在Windows资源管理器的“快速访问”菜单中有一个快捷方式。此快捷方式已链接到网络共享的文件夹。我已经删除了这个快捷方式,现在一切都很好。


0
投票

我们必须在使用 $ 的括号内使用反引号。应用单引号也会导致问题。

© www.soinside.com 2019 - 2024. All rights reserved.