Ввод файла Нажмите на открытие диалогового окна в Microsoft Edge, несмотря на успешные вызовы APIHtml

Программисты Html
Ответить
Anonymous
 Ввод файла Нажмите на открытие диалогового окна в Microsoft Edge, несмотря на успешные вызовы API

Сообщение Anonymous »

Сводка задачи
Ввод файла Нажмите События. Не открывают диалог выбора файла в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»