У меня есть HTML-форма (upload.htm) с контролем загрузки файла HTML внутри.получить доступ запрещен error на IE8
<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, я получаю эту странную ошибку. Почему я не получил это в первый раз?
Пришлось посмотреть @ этот пост ->"Access is denied" when script tries to access iframe in IE8, но это не помогло.
Должны подтвердить этот ответ. Я отчаянно искал проблему с моей загрузкой формы, где на самом деле я использовал пользовательский ввод файлов в IE, и это вызывало проблему с доступом. Great insight, thx –
Что мне не хватает? Эта скрипка, кажется, подтверждает этот ответ неправильно; используя Ender/Bean вместо jQuery У меня есть IE9, открывающий сборщик файлов и отправку формы в сгенерированный iframe через JS, и он, похоже, работает: http://jsfiddle.net/NkycS/27/ – RwwL
Ага, я получил it - у моего ввода файла не было атрибута имени. Как только я добавлю один, я получаю ошибку отказа в доступе: http://jsfiddle.net/NkycS/32/ – RwwL