SCRIPT5:IE9在文件上传时拒绝访问

时间:2011-05-26 12:59:01

标签: file-upload internet-explorer-9

使用document.forms[0].submit()在9上发布带有文件上传框的表单时,我们会收到错误消息:SCRIPT5: Access is denied

如果我再点击几次就可以了。

作为一种解决方法,我已经发现错误,并尝试了几次似乎工作得很好。

对此有任何解释吗?该代码已在所有其他流行的浏览器上运行多年。

如果浏览器设置为IE9兼容模式,代码在IE9中也能正常工作,但这不是我们可以控制的。

我看到对XMLHTTP的引用存在问题,我们确实执行了XMLHTTP调用,但是在点击提交按钮之前就已经发生了。

1 个答案:

答案 0 :(得分:11)

事实证明,安全问题是由于我们在弹出窗口中运行文件提交代码。使用window.open打开弹出窗口,其中有一个空字符串作为请求的页面。然后我们将表格发布到该窗口。

问题是弹出窗口的URL默认为约:未指定时为空。显然是:空白被认为是不安全的,所以当尝试将文件POST回原始域时,SCRIPT5:Access被拒绝错误出现。

解决方案是使用小型存根类型的html页面打开然后执行帖子。选择文件后,FILE帖子不会看到错误,文件会根据需要进行填充。