【问题标题】:IE9 SCRIPT5 Access deniedIE9 SCRIPT5 访问被拒绝
【发布时间】:2014-11-20 17:19:10
【问题描述】:

我想通过 iframe 传输发送带有文件和一些文本字段的发布请求。

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

主页地址http: //192.168.1.36:3001/index.html。请求地址为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()"

我还尝试在表单中添加一个特殊的提交按钮并尝试触发(“点击”)。没用。

有可能吗?

谢谢

【问题讨论】:

  • 你是想让父页面中的一些JS代码在iframe子页面中提交表单吗?
  • @MarcB 我正在尝试通过 iframe 传输从主页发送 ajax 请求。你阅读并理解了这个问题吗?
  • NOWHERE 在您的问题中您是否曾经提到过“ajax”,并且没有“iframe 传输”之类的东西。
  • @MarcB 有 一种 方法可以使用 jquery - AJAX 发送 post 请求。因此 iframe 传输可作为附加的 js 脚本使用(只需 google it)。你能胜任这个主题吗?

标签: internet-explorer iframe internet-explorer-9 jquery-file-upload jquery-iframe-transport


【解决方案1】:

@约翰,

你写的时候:

我还尝试在表单中添加一个特殊的提交按钮并尝试触发(“点击”)。没用。

这是否意味着您试图使用<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;
}

【讨论】:

    猜你喜欢
    • 2011-08-13
    • 2012-06-14
    • 2011-09-02
    • 2013-03-27
    • 1970-01-01
    • 2012-08-27
    • 2012-10-28
    相关资源
    最近更新 更多