@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(); |
После выполнения этого кода будет запущен диалоговый окно выбора файла, и выбранный файл будет отображен в консоли.