Ввод файла Нажмите События. Не открывают диалог выбора файла в microsoft Edge , несмотря на тот же код, который идеально работает в Safari и других брасах. Функциональность перетаскивания работает нормально в краю. Next.js
[*]Context: Secure context (HTTPS/localhost)
What Works
Drag and drop file selection works perfectly in Edge
Button click works perfectly in Safari and other browsers
All programmatic API calls Верните «Успех», но не появляется диалог < /p>
то, что не работает < /h2>
Любая форма программного запуска ввода файла в Edge
Диалог файлов < /h2>
const FileUploadComponent = () => {
const fileInputRef = useRef(null);
const handleClick = () => {
const fileInput = fileInputRef.current;
if (!fileInput) return;
// All of these appear to "succeed" but no dialog opens in Edge:
// Method 1: Direct click
fileInput.click(); // Returns undefined, no error
// Method 2: showPicker API
if ('showPicker' in fileInput) {
fileInput.showPicker(); // No error thrown, appears successful
}
// Method 3: Focus then click
fileInput.focus(); // Element gets focused successfully
fileInput.click(); // No error, no dialog
};
return (
Select File
console.log('File selected:', e.target.files)}
/>
);
};
< /code>
Информация о отладке < /h2>
При нажатии кнопки в краю консоль показывает: < /p>
Код: Выделить всё
✅ File input element found
✅ showPicker() called successfully
✅ Element successfully focused
✅ click() called successfully
✅ userActivation: true (initially)
❌ No file dialog appears
❌ onChange never fires
пробовал все эти подходы без успеха:
- Прямой программный клик : fileInput.click ()
- moder at show fileInput.showpicker ()
- фокус, затем нажмите : fileInput.focus (); fileInput.click ()
- диспетчерирование событий мыши : fileInput.DispatchEvent (new MouseEvent ('click'))
- ассоциация лейбла : :
Подробнее здесь: https://stackoverflow.com/questions/796 ... ul-api-cal
Мобильная версия