2012-02-03 15 views
1

我的网页应用程序允许导出各种格式的数据。通过从下拉列表中选择导出格式(<select>)触发导出,导致表单被发送并且文件以请求的导出格式返回并下载。避免IE中文件下载阻止程序的合法技术(“帮助保护您的安全”)?

在IE以外的所有浏览器上工作正常 - 在IE上显示“帮助保护您的安全”拦截器,然后单击“单击此处以查看选项”,导致页面重新加载而不允许实际下载。

简而言之,IE用户不能下载文件,因为阻止程序和后续的重新加载而不是下载。

我知道我们可以要求用户更改他们的安全区域设置以启用下载,但由于各种原因,这是不实际的 - 在许多不同的环境中有很多用户,他们往往忽略指令。

是什么导致阻塞器出现的规则记录在某处?在IE中允许文件下载的合法,推荐的方式是什么?也就是说,对于下面详细描述的场景,我如何设置HTML /表单以真正让用户下载文件?

  • (使用显示用户的文件格式的列表
  • 一旦用户选择了一个文件,将其下载到自己的计算机,而不触发IE的下载拦截

回答

1

有你<select>块简单地注入JavaScript)<a href="url_to_actual_format"> click here to download </a>文本在DOM树中的其他地方。然后,用户点击标准链接并重新加载整个页面,直接下载文件。

你甚至可以有<a href="url?format=blah"> click </a>导致GET请求..

+0

由于量子点,看起来像我可能要检测IE和替代发布显示用户直接链接的形式来点击。将尝试并更新。 – Parand 2012-02-03 18:01:12

+0

我见过网站换出选择器直接链接与JavaScript ..看起来相当不错。 – qdot 2012-02-03 18:51:37

相关问题