我有一个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>
Run Code Online (Sandbox Code Playgroud)
上面的页面中还有一个JavaScript方法,如:
function performUpload(){
document.getElementById('frmupload').submit();
}
Run Code Online (Sandbox Code Playgroud)
我从一个页面(uploadpage.htm)中调用它iframe:
<iframe id="docframe" src="upload.htm" style="display:none"></iframe>
Run Code Online (Sandbox Code Playgroud)
我尝试从uploadpage.htm页面执行下面的语句:
var i = document.getElementById('docframe');
i.contentWindow.performUpload();
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,说访问被拒绝,我的调试器停止在我显示的第一个JavaScript函数.这两个文件都位于Web项目中的相同位置.他们也有相同的域名.为什么我会收到此错误?
当然,早些时候,我可以发布页面:当我没有name为HTML上传控件设置属性时.但是在我在HTML标记中设置name属性后,我得到了这个奇怪的错误.为什么我第一次没有这个?
看看@ this post - > "访问被拒绝"当脚本试图访问IE8中的iframe时,但它没有帮助.
javascript file-upload cross-domain access-denied internet-explorer-8