Моя проблема:
Потім користувач клацне, input type=file
користувач повинен отримати upload file + camera
діалогове вікно. Я використовую для цього атрибути html accept
і capture
. Але на деяких сучасних пристроях цього не відбувається. Нижче наведено приклади коду та таблицю, хто з його робіт працює чи ні. Приклади коду перевіряються в Mobile Safari
і Chrome
.
TL; DR:
У мене є 5 прикладів коду лише з input type file
:
1. ( jsfiddle
)
<input type="file" accept="image/*" capture>
2. ( jsfiddle
)
<input type="file" accept="image/*" capture="camera">
3. ( jsfiddle
)
<input type="file" capture="camera">
4. ( jsfiddle
)
<input type="file" capture>
5. ( jsfiddle
)
<input type="file" accept="image/*">
Тестові пристрої:
- Samsung S3 (Android 4.1.2)
- Samsung S3 (Android 4.3)
- Samsung Galaxy Tab 2 7.0 (Android 4.2.2)
- Примітка Samsung (Android 4.1.2)
- iPhone 5 (iOS 7.0.4)
- Nexus 4 (Android 4.4)
Таблиця результатів:
- W (ork) - означає включений
upload image dialog with camera
- P (фактично працює) - означає включений
upload dialog(not image only) with camera
- N (від роботи) - означає
only camera
включений - Ch - означає
Chrome
- РС - означає
Mobile Safari
#
--------------------------------------------------------------------------------
|devices/example | Ch 1| Ch 2| Ch 3| Ch 4| Ch 5| MS 1| MS 2| MS 3| MS 4| MS 5|
--------------------------------------------------------------------------------
|Samsung S3/4.1 | N | N | P | P | W | W | N | P | P | W |
--------------------------------------------------------------------------------
|Samsung S3/4.3 | N | N | P | P | P | N | N | P | P | P |
--------------------------------------------------------------------------------
|Samsung Galaxy Tab| N | N | P | P | W | W | N | P | P | W |
--------------------------------------------------------------------------------
|Samsung Note | N | N | P | P | W | W | N | P | P | W |
--------------------------------------------------------------------------------
|iPhone 5 | W | W | P | P | W | W | Y | P | P | W |
--------------------------------------------------------------------------------
|Nexus 4 | N | N | P | P | W | - | - | - | - | - |
--------------------------------------------------------------------------------
Як бачите, я можу отримати лише upload file + camera
діалогове вікно для всіх браузерів, що використовують
<input type="file" accept="image/*">
тільки. Але немаєcapture
в цьому випадку атрибута , і це мене турбує, і є проблема з Android 4.3.
Мої запитання:
- Чи поведінка в таблиці відповідає дійсності? Поведінка Android 4.3 - це помилка?
- Чи можу я довіряти браузерам, що завжди додаватиме діалогове вікно для завантаження без атрибута зйомки? (Будь ласка, додайте посилання для підтвердження відповіді)
Дякую.
PS Питання особливе, але на своєму сайті я повинен надати користувачам доступ до його зображень та камери. Також я думаю, що моя таблиця може бути корисною для будь-кого, а також я буду шукати відповідь і розміщу свою відповідь тут, якщо ніхто не відповість.
input type file
. Я не хочу читати файл. Я просто якому користувачеві надати доступ до нього зображення / камери на моєму сайті.