我尝试以编程方式模拟用户单击 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 实现吗?
最佳答案
这是不可能的,而且有充分的理由。如果您可以在客户端自动选择文件,则可能会导致大规模的安全和隐私泄露。
关于javascript - 如何用javascript模拟文件选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15174550/