2

我尝试以编程方式模拟用户单击 html 元素类型 input:file 以在 Firefox 浏览器上使用 javascript 将文件上传到网站。我的 javascript 文件中的以下 javascript 代码模拟并打开文件对话框:

var target_element; 
var dispatchMouseEvent = function(target, var_args) { 
    var e = document.createEvent("MouseEvents");
    e.initEvent.apply(e, Array.prototype.slice.call(arguments, 1));
    target.dispatchEvent(e); 
};

target_element = window.content.document.getElementById("DivElement");
dispatchMouseEvent(target_element, 'mouseover', true, true);
dispatchMouseEvent(target_element, 'mousedown', true, true); 
dispatchMouseEvent(target_element, 'mouseup', true, true); 
dispatchMouseEvent(target_element, 'click', true, true);

但我找不到一种方法来以编程方式模拟文件对话框上文件的选择,就像用户选择文件并单击文件对话框的打开按钮一样。用javascript可以做到吗?

4

1 回答 1

3

这将是不可能的,而且有充分的理由。如果您可以在客户端自动选择文件,您将为大规模破坏安全和隐私打开大门。

于 2013-03-02T12:39:54.450 回答