我们目前正在使用元刷新来启动页面上的下载,我在维基百科上读到,使用它并不是用户体验(用户体验)友好。那么在登陆下载页面几秒钟后开始下载的方式是什么。
答案 0 :(得分:1)
用户界面友好的方式:
不会给用户带来突然意外的惊喜。所以推迟下载X秒并清楚地宣布。
这是通过设置JavaScript逻辑来显示下载的更改倒计时来完成的。有关实施的详细信息,请参见下文。
允许用户通过允许立即下载来控制它
这是通过让下载计时器公告提供立即下载的小部件(按钮或链接)来完成的。
通过在新窗口/标签页中打开下载来保留当前页面。
“开始下载”逻辑最好是 - 而不是明显的window.location.href
设置 - 这会打开下载的新窗口。这样,您就可以让用户保持主下载登录页面的完整。
如果可能,请提供一个漂亮的下载小部件
不要只推送下载目标的网址,而应考虑使用自定义下载功能,例如jQuery的jDownload plugin
要实现更改倒计时,请执行以下操作:
设置一个变量,直到下载开始的时间:
var DownloadIn = 10;
使用setTimeout()`:
在JavaScript中设置计时器 setTimeout("shouldWeDownload()", DownloadIn * 1000);
从计时器调用的子程序shouldWeDownload()
将:
检查时间段(存储在DownloadIn
变量中)是否大于零。
如果时间不是(大于零),它将:
一个。检查特殊的“AlreadyDownloading”变量是否设置为true - 稍后将解释此变量。如果为true,只需退出。
湾打印到页面上的特殊DIV - 用户非常明显且可见 - 消息“在开始下载之前需要XXX秒。点击this link开始下载”。
℃。减少DownloadIn
变量
d。使用相同的setTimeout
如果时间到了,请开始下载。
此外,邮件中的“此链接”链接也会立即启动下载。为了使事情变得干净,onClick JS handler的“立即下载”应该设置一个特殊的“AlreadyDownloading”变量,在上面的逻辑中检查应该设置为true,所以我们不会因为次要的竞争条件而开始第二次下载。 / p>
答案 1 :(得分:1)
我不知道有关用户期望的任何研究,但我建议您在初始下载链接中进行下载,例如
<a href="kiss_from_a_rose__dubstep_remix.mp3">Download my awesome track</a>
(也许是像大按钮一样链接的风格,甚至可能是指向下方的箭头:例如something like this。)
然后将服务器设置为返回该文件,并将the Content-disposition
header设置为“附件”和文件名,以便浏览器立即让用户知道他们正在下载内容:
Content-disposition: attachment; filename=kiss_from_a_rose__dubstep_remix.mp3
这样您就不会打开新页面来进行文件下载。文件下载,用户仍然在下载时的页面上,大家都很高兴。
更少的步骤=让用户感到困惑的事情更少。
使用浏览器的UI =用户之前有更多机会看到它,从而知道发生了什么
答案 2 :(得分:-1)
unix 用户友好吗?完全取决于浏览器,上次我检查,大多数/所有Linux浏览器和safari与元刷新工作正常。
这就是为什么大多数网站都提供带有下载链接的元刷新的原因。