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
,
и т.д. вопросы.
Дополнительная информация:
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;
}