IE浏览器在取消一个下载后再次取消下载的行为应该如何解释?

为啥呢 2013-01-18 01:28:00
我要实现的功能是让同一个用户在同一时间只能下载同一个文件一次,多次就会提示用户当前正在下载的任务并允许用户主动取消下载。
在实现取消下载操作时遇到了以下问题:
Firefox和Chrome在用户每次取消下载时都会关闭服务器端的输出流,而IE只在第一次取消下载时会关闭,从第二次开始要么等待超时,要么等待浏览器进程关闭,否则输出流一直不会被关闭。
我在服务器端判断用户取消下载这个行为时根据抛出的ClientAbortException异常来判断,所以IE的这个特点让我无法知道用户是关闭了输出流还是网络出现了延迟,因为除第一次取消下载外只能等待超时才抛出ClientAbortException。
另外我发现IE在用户多次点击同一个下载时会复用这个输出流,我还看不出这样做有什么必要性,又或者IE会通过其他方式通知服务器端客户端关闭操作?我认为让用户必须等待超时是很不友善的行为。
我现在的实现方式是当用户取消操作时强行关闭用于输出流的文件管道对象,以此来终止下载。

不知道有谁有这个问题更好的解决方案?
...全文
561 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nisuanshen 2013-07-04
  • 打赏
  • 举报
回复
纳尼?智慧云浏览器?稍后我看看。
灰白色爱恋 2013-05-16
  • 打赏
  • 举报
回复
听说最近有个叫什么智慧云的还可以
u010336253 2013-05-14
  • 打赏
  • 举报
回复
考虑过换个浏览器么?
为啥呢 2013-01-19
  • 打赏
  • 举报
回复
引用 4 楼 wzs_xyz 的回复:
这是浏览器行为,你还能怎地? 自己看看其他网站的下载,如果是一样的情况,那你还管这个作甚?等你发现别人可以做得更好时再去思考怎么做的吧
我的确没有花时间去思考这个问题啊,因为我已经有可行的解决方案....我只是把问题抛出来给大家而已,集思广益嘛,万一有更好的方案呢。
未知数 2013-01-19
  • 打赏
  • 举报
回复
这是浏览器行为,你还能怎地? 自己看看其他网站的下载,如果是一样的情况,那你还管这个作甚?等你发现别人可以做得更好时再去思考怎么做的吧
为啥呢 2013-01-19
  • 打赏
  • 举报
回复
期待高手来解答一下,到底是IE坑爹还是有隐情?
爱若如梦 2013-01-18
  • 打赏
  • 举报
回复
不容易,象迅雷都是用插件控制的。需要写activeObject一类的
为啥呢 2013-01-18
  • 打赏
  • 举报
回复
这个怎么也没人回答呢?IE和下载功能都是挺普及的阿....

5,006

社区成员

发帖
与我相关
我的任务
社区描述
解读Web 标准、分析和讨论实际问题、推动网络标准化发展和跨浏览器开发进程,解决各种兼容性问题。
社区管理员
  • 跨浏览器开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧