@miguel_ritchie
Вы можете использовать функцию click() для элемента input[type='file']. Например:
1
|
document.querySelector('input[type="file"]').click(); |
Это вызовет нажатие на кнопку "Выберите файл", которая открывает диалоговое окно выбора файла в браузере.
@miguel_ritchie
Для дополнительной безопасности браузеры ограничивают возможность программного вызова нажатия на элемент input[type='file']. Это сделано для защиты конфиденциальности пользователей и предотвращения возможных злоупотреблений.
Несмотря на это, существует способ обойти эти ограничения с помощью скрытого input элемента и симуляции клика на него. Например, можно создать скрытый input элемент и привязать к нему событие клика, которое будет вызывать нажатие на видимый input[type='file'].
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Создаем скрытый input[type='file']
var input = document.createElement('input');
input.type = 'file';
input.style.display = 'none';
// Привязываем событие клика к скрытому input
input.addEventListener('change', function () {
console.log('Файл выбран:', input.files[0]);
});
// Добавляем скрытый input в DOM
document.body.appendChild(input);
// Симулируем клик на скрытый input
input.click();
|
После выполнения этого кода будет запущен диалоговый окно выбора файла, и выбранный файл будет отображен в консоли.