【发布时间】:2011-04-25 12:01:53
【问题描述】:
我有一个 HTML 表单 (upload.htm),里面有一个 HTML 文件上传控件。
<form id="frmupload" name="upload" enctype="multipart/form-data" action="uploadhandler.ashx" method="post">
<input id="uploader" name="uploadctrl" type="file"/>
</form>
上面页面中还有一种 JavaScript 方法,如下所示:
function performUpload(){
document.getElementById('frmupload').submit();
}
我在 iframe 内的页面 (uploadpage.htm) 内调用它:
<iframe id="docframe" src="upload.htm" style="display:none"></iframe>
我尝试从 uploadpage.htm 页面执行如下所示的语句:
var i = document.getElementById('docframe');
i.contentWindow.performUpload();
我收到一条错误消息,提示 访问被拒绝,并且我的调试器在我显示的第一个 JavaScript 函数处停止。这两个文件位于 Web 项目中的相同位置。他们也有相同的域名。那为什么会出现这个错误呢?
当然,之前我可以发布页面:当我没有为 HTML 上传控件设置 name 属性时。但是在我在 HTML 标记中设置 name 属性后,我得到了这个奇怪的错误。为什么我第一次没有得到这个?
看看@这个帖子 --> "Access is denied" when script tries to access iframe in IE8,但没有帮助。
【问题讨论】:
标签: javascript file-upload internet-explorer-8 cross-domain access-denied