我有点复杂的情况。 我正在为POC进行研究,最终的目标是在支持IE 9的同时跨域上传文件。
我的页面上写着:
加载iframe说:
第二页(在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是否隐藏无关紧要。
这是非常令人沮丧的,因为看起来似乎没有任何代码可以解决它的问题。
有没有人知道如何解决这个问题?
谢谢!