问题描述
||
当在IE 9上使用posting0ѭ发布带有文件上传框的表单时,我们将显示错误消息:
SCRIPT5: Access is denied
如果再单击几次,它会正常工作。
作为解决方案,我发现了错误,并尝试了几次,看来效果很好。
有什么解释吗?该代码已在所有其他流行的浏览器上使用了多年。
如果将浏览器设置为IE9兼容模式,则该代码在IE9中也可以正常工作,但是我们不能对此进行一般控制。
我已经看到提到XMLHTTP
是一个问题,我们确实执行了XMLHTTP
调用,但这发生在单击要提交的按钮之前。
解决方法
事实证明,安全问题是由于我们在弹出窗口中运行文件提交代码。使用window.open打开弹出窗口,该窗口具有一个空字符串作为请求的页面。然后,我们将一个表单发布到该窗口。
问题是未指定时,弹出窗口的URL默认为about:blank。显然about:blank被认为是不安全的,因此,当尝试将文件POST回原始域时,会出现SCRIPT5:拒绝访问错误。
解决方案是使用小存根类型的html页面打开,然后执行发布。选择文件后,“ FILE”帖子将看不到错误,并且文件将根据需要进行弥补。