相关疑难解决方法(0)

什么是绕过IE文件下载安全规则的技术?

Internet Explorer(默认设置,我通常认为它将在Great Unwashed的桌面上生效)似乎不喜欢在HTTP响应中接受附件内容的想法,如果相应的请求不是直接来自用户操作(像"点击"处理程序,或本机表单提交).可能有更多的细节和细微差别,但这是让我感到沮丧的基本行为.

在我看来,这种情况很常见:一些可下载内容前面的用户界面 - 比如准备好的PDF报告 - 允许在创建内容时使用一些选项和输入.现在,与允许用户规定应用程序如何执行某些操作的所有表单一样,输入可能是错误的.并非总是,但有时候.

因此存在两难问题.如果客户端试图做一些奇特的事情,比如运行一个AJAX事务让服务器审查表单内容,然后重新提交以获得下载,IE就不会那样了.它不会喜欢它,因为带回附件的实际HTTP事务不会发生在原始的用户操作事件处理程序中,而是发生在AJAX完成回调中.更糟糕的是,由于IE安全栏似乎认为解决所有问题的方法是简单地从其原始URL重新加载外页,因此邀请用户继续下载可疑内容甚至都不起作用.

另一种选择是让表格消失.服务器检查参数,如果有任何错误,它会使用表单容器页面进行响应,并使用错误消息进行适当的响应.如果表单内容正常,它会生成内容并将其作为附件发送回HTTP响应中.在这种情况下(我认为),IE很高兴,因为内容显然是由用户直接请求的(顺便说一下,这是一种从坏内容中讲出好内容的荒谬脆弱的方式).这很好,但现在的问题是客户端环境(即我页面上的代码)无法判断下载是否有效,因此表单仍然只是坐在那里.如果我的表单处于某种对话框中,那么当操作完成时我真的需要关闭它 - 真的,那个'

在我看来,唯一要做的就是在表单对话框中添加一些消息,例如"下载开始时关闭它".这对我来说真的很蹩脚,因为它是"请按下我的按钮"界面的一个例子:理想情况下,我自己的代码应该能够在适当时推动buutton.我不知道的一个关键问题是客户端代码是否有任何方法可以检测到表单提交导致附件下载.我从来没有听说过如何发现这种情况,但这会打破我的僵局.

javascript jquery internet-explorer

11
推荐指数
1
解决办法
4351
查看次数

标签 统计

internet-explorer ×1

javascript ×1

jquery ×1