Mein Problem:
Dann klicken Benutzer auf den input type=file
Benutzer muss den upload file + camera
Dialog erhalten. Ich benutze für diese HTML-Attribute accept
und capture
. Bei einigen modernen Geräten ist dies jedoch nicht der Fall. Unten finden Sie die Codebeispiele und die Tabelle, welche davon funktioniert oder nicht. Codebeispiele werden in Mobile Safari
und getestet Chrome
.
TL; DR:
Ich habe 5 Codebeispiele mit nur 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/*">
Testgeräte:
- Samsung S3 (Android 4.1.2)
- Samsung S3 (Android 4.3)
- Samsung Galaxy Tab 2 7.0 (Android 4.2.2)
- Samsung Note (Android 4.1.2)
- iPhone 5 (iOS 7.0.4)
- Nexus 4 (Android 4.4)
Ergebnistabelle:
- W (ork) - bedeutet aktiviert
upload image dialog with camera
- P (künstlich funktioniert) - bedeutet aktiviert
upload dialog(not image only) with camera
- N (keine Arbeit) - bedeutet
only camera
aktiviert - Ch - bedeutet
Chrome
- MS - bedeutet
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 | - | - | - | - | - |
--------------------------------------------------------------------------------
Wie Sie sehen, kann ich nur upload file + camera
Dialoge für alle Browser verwenden
<input type="file" accept="image/*">
nur. Aber capture
in diesem Fall gibt es kein Attribut, und das beunruhigt mich und es gibt ein Problem mit Android 4.3.
Meine Fragen sind:
- Sind die Verhaltensweisen in der Tabelle wahr? Android 4.3 Verhalten ist ein Fehler?
- Kann ich Browsern vertrauen, dass sie immer eine Kamera zum Hochladen von Dialogen ohne Erfassungsattribut hinzufügen? (Bitte fügen Sie Proof-Links für die Antwort hinzu)
Vielen Dank.
PS Frage ist etwas Besonderes, aber auf meiner Website muss ich Benutzern Zugriff auf seine Bilder und Kamera gewähren. Ich denke auch, dass mein Tisch für jeden hilfreich sein kann und ich werde nach einer Antwort suchen und meine Antwort hier posten, wenn niemand antwortet.
input type file
. Ich möchte keine Datei lesen. Ich weiß genau, welcher Benutzer Zugriff auf Bilder / Kamera auf meiner Website gewähren soll.