Моя проблема:
Потім користувач клацне, 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. Я не хочу читати файл. Я просто якому користувачеві надати доступ до нього зображення / камери на моєму сайті.