使用document.forms[0].submit()
在9上发布带有文件上传框的表单时,我们会收到错误消息:SCRIPT5: Access is denied
如果我再点击几次就可以了。
作为一种解决方法,我已经发现错误,并尝试了几次似乎工作得很好。
对此有任何解释吗?该代码已在所有其他流行的浏览器上运行多年。
如果浏览器设置为IE9兼容模式,代码在IE9中也能正常工作,但这不是我们可以控制的。
我看到对XMLHTTP
的引用存在问题,我们确实执行了XMLHTTP
调用,但是在点击提交按钮之前就已经发生了。
答案 0 :(得分:11)
事实证明,安全问题是由于我们在弹出窗口中运行文件提交代码。使用window.open打开弹出窗口,其中有一个空字符串作为请求的页面。然后我们将表格发布到该窗口。
问题是弹出窗口的URL默认为约:未指定时为空。显然是:空白被认为是不安全的,所以当尝试将文件POST回原始域时,SCRIPT5:Access被拒绝错误出现。
解决方案是使用小型存根类型的html页面打开然后执行帖子。选择文件后,FILE帖子不会看到错误,文件会根据需要进行填充。