在iframe内部单击时,不会触发firefox中的文件上传对话框

时间:2014-09-03 20:51:30

标签: javascript firefox iframe file-upload postmessage

我有点复杂的情况。 我正在为POC进行研究,最终的目标是在支持IE 9的同时跨域上传文件。

我的页面上写着:

http://app.ui/index.html

加载iframe说:

http://app.upload/index.html

第二页(在iframe中)有一个文件输入元素,正在监听消息后事件。

当点击按钮时," ui"页面(在第一个域中),页面向iframe发送消息,iframe又调用类似:

var upload = document.getElementById("fileupload");

  upload.click();

 var upload =  document.getElementById("fileupload");
 var evt = document.createEvent("HTMLEvents");

  evt.initEvent("click", true, true);

  upload.dispatchEvent(evt);

两个示例在Chrome(37)中都运行正常,文件上传对话框已打开,我可以从我的计算机中选择一个文件。

然而,在Firefox(31)中,这不起作用。没有错误或任何东西,但点击触发只是没有做任何事情。在我刚刚升级到的FF 32中,我收到一条消息,说即使我允许该域名的弹出窗口弹出窗口也被阻止。

顺便说一下iframe是否隐藏无关紧要。

这是非常令人沮丧的,因为看起来似乎没有任何代码可以解决它的问题。

有没有人知道如何解决这个问题?

谢谢!

0 个答案:

没有答案