我尝试以编程方式模拟用户点击html元素类型输入:文件,以便在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做到吗?
答案 0 :(得分:3)
这是不可能的,而且有充分的理由。如果您可以在客户端自动选择文件,那么您将打开大规模破坏安全和隐私的大门。