Нажмите <input type=file> запрещено в WebKit?

81
9

Я хотел бы проиграть input type="file" (A), и я добавил еще одну кнопку B с CSS. Когда я нажимаю B, я вызываю A.click() для просмотра файлов.

Он хорошо работает в Desktop-Web-браузере, например IE8+, Google Chrome и Safari. Однако, когда приложение Android вставлено с webview, событие click не будет вызываться. (Я пробовал это в IOS APP, вставленном с UIWebView, и он работает хорошо).

Я нашел статью, https://github.com/rogerwang/node-webkit/wiki/File-dialogs. Это показывает, что:

В WebKit определенные операции запрещены в javascript, например, вы не можете генерировать событие click на <input type='file'/>, и вы не можете установить/получить от него реальные значения.

Поскольку webview в android основан на webkit, как правильно бить input type="file"?

спросил(а) 2020-04-04T00:06:02+03:00 5 месяцев, 4 недели назад
1
Решение
98

Вы можете использовать что-то вроде этого

<label for="id_of_your_input">any html styles or text, just label tag</label>
<input type="file" id="id_of_your_input" name="name" style="display: none">

Он должен работать :)

Вы действительно не можете имитировать щелчок по входному файлу, из-за ограничения безопасности.

ответил(а) 2020-04-04T00:24:20.545374+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема