У меня есть 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();
}
Я вызываю это внутри страницы (uploadpage.htm) из iframe
:
<iframe id="docframe" src="upload.htm" style="display:none"></iframe>
Я пытаюсь выполнить оператор, показанный ниже, на странице uploadpage.htm:
var i = document.getElementById('docframe');
i.contentWindow.performUpload();
Я получаю сообщение об ошибке "Доступ запрещен", и мой отладчик останавливается при первой функции JavaScript, которую я показал. Оба файла находятся в одном месте в веб-проекте. Они имеют одинаковое доменное имя. Почему я получаю эту ошибку?
Конечно, раньше я мог опубликовать страницу: когда я не установил атрибут name
для элемента управления загрузкой HTML. Но после того, как я установил атрибут name в разметке HTML, я получаю эту странную ошибку. Почему я не получил это в первый раз?
Посмотрел @этот пост → "Доступ запрещен" когда script пытается получить доступ к iframe в IE8, но это не помогло.