IE9 SCRIPT5 Доступ запрещен

Я хочу отправить запрос с файлами и некоторыми текстовыми полями через iframe.

(jquery-file-uload + jquery.iframe-transport)

URL главной страницы http: //192.168.1.36:3001/index.html, URL запроса http: //192.168.1.36:3001/api/upload,

Я уже читал: 1 2 3 4 5 6 7

и т.д. вопросы.

Дополнительная информация:

browser: ie 9.0.8112.16421

headers of /index.html: 

Cache-Control:no-cache
Cache-Control:public, must-revalidate, proxy-revalidate
Connection:keep-alive
Content-Encoding:gzip
Content-Type:text/html
Date:Thu, 25 Sep 2014 19:34:41 GMT
Expires:Thu, 25 Sep 2014 19:34:40 GMT
Last-Modified:Thu, 25 Sep 2014 19:17:41 GMT
P3P:CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"
Pragma:public
Server:nginx/1.6.2
Transfer-Encoding:chunked
Vary:Accept-Encoding

domain in iframe is 192.168.1.36, domain in main page is same (192.168.1.36)

Но "SCRIPT5 Access denied" in "form[0].submit()", Я заменил "form.submit()" to "form[0].submit()",

Также я попытался добавить в форму специальную кнопку отправки и попытался вызвать ("клик"). Не работает

Является ли это возможным??

Спасибо

1 ответ

@John,

Когда вы написали:

Также я попытался добавить в форму специальную кнопку отправки и попытался вызвать ("клик"). Не работает

Означает ли это, что вы пытались запустить просмотр файлов, используя что-то кроме <input type="file"> элемент? Например, пытаетесь стилизовать кнопку обзора, скрывая элемент ввода файла?

Если это так, то ошибка SCRIPT5 связана с тем, что IE9 считает, что это безопасно, пытаясь предотвратить загрузку, не инициированную пользователем.

Решение: если вы стилизуете элемент ввода файла так, чтобы visibility: hidden; вместо display: none, и вы используете метку, чтобы начать действие, оно будет работать. Вы можете стилизовать метку так, как хотите, и она будет делать практически все, что вы хотите (я не смог заставить ее работать с клавиатурой и клавишей Enter).

Например, у меня сработало следующее:

<label class="my-label-button-style">
    <input type="file" class="my-ie9-hidden-file-input"/>
    Click me
</label>

и CSS:

.my-ie9-hidden-file-input {
    visibility: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
}