tag:forum.selfhtml.org,2005:/self input[type="file"] und mobile devices – SELFHTML-Forum 2016-02-01T04:19:49Z https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659911#m1659911 heinetz 2016-01-31T14:51:54Z 2016-01-31T14:51:54Z input[type="file"] und mobile devices <p>Hallo Forum,</p> <p>ich baue gerade eine responsive HTML5-Website mit bootstrap. Auf der Seite gibt es einen Bereich, in dem der User Dateien hochladen kann … ich nenne es Upload-Widget ;)</p> <p>Nun gibt es zwei Restriktionen:</p> <ol> <li>Die Dateien müssen PDFs sein.</li> <li>Die PDFs dürfen nicht grösser sein als 120MB</li> </ol> <p>Um diese Restriktionen zu überprüfen gibt es natürlich zum Einen eine serverseitige Überprüfung. Zum Anderen eine clientseitige. Voraussetzung für diese clientseitige Überprüfung ist die JS File API. Steht die im Client nicht zur Verfügung wird mein Upload-Wigdet nicht angezeigt. Für diese Überprüfung benutze ich modernizr.</p> <p>Nun funktionieren ja heute auf mobile Devices input[type="file"] auch. Auf meinem iPhone wird mir ein Dialog angezeigt, in dem ich wählen kann, ob ich ein Foto aufnehmen oder aus meinem Fotoalbum auswählen möchte. Das ist aber natürlich etwas grundsätzlich anderes, als eine Datei von meinem lokalen Laufwerk auszuwählen. Meines Wissens nach ist das nicht nur bei meinem iPhone, sondern grundsätzlich bei mobilen OS so.</p> <p>Erste Frage: Stimmt das oder gibt es da Ausnahmen?</p> <p>Für dem (mobilen) User, der nur Fotos hochladen kann, möchte ich mein Widget auch gernre ausblenden. Die Frage ist nur, wie erkenne ich das möglichst zuverlässig. Ich kann natürlich auch hier modernizr einsetzen und den Client auch touchevents überprüfen. Das ist sicher nah dran. Das liesse sich auch noch mit einer mobile-device-detection, die auf UA-Strings basiert kombinieren. Aber bei diesen Ansätzen geht es nur um Wahrscheinlichkeiten.</p> <p>Hat jemand einen anderen Ansatz?</p> <p>1000 Dank für Tipps und</p> <p>beste gruesse, heinetz</p> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659912#m1659912 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de 2016-01-31T14:59:13Z 2016-01-31T14:59:13Z input[type="file"] und mobile devices <p>@@heinetz</p> <blockquote> <p>Für dem (mobilen) User, der nur Fotos hochladen kann, möchte ich mein Widget auch gernre ausblenden. Die Frage ist nur, wie erkenne ich das möglichst zuverlässig. Ich kann natürlich auch hier modernizr einsetzen und den Client auch touchevents überprüfen. Das ist sicher nah dran.</p> </blockquote> <p>Nein, das ist weit weg. Es gibt Desktop-Geräte, die Touch-Events unterstützen.</p> <p>LLAP </p> <div class="signature">-- <br> „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“<br> „Hat auf dem Forum herumgelungert …“<br> (Wachen in Asterix 36: Der Papyrus des Cäsar) </div> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659926#m1659926 Camping_RIDER janosch.zoller@gmx.de http://www.campingrider.de 2016-01-31T15:58:14Z 2016-01-31T15:58:14Z input[type="file"] und mobile devices <p>Aloha ;)</p> <blockquote> <p>Nun funktionieren ja heute auf mobile Devices input[type="file"] auch. Auf meinem iPhone wird mir ein Dialog angezeigt, in dem ich wählen kann, ob ich ein Foto aufnehmen oder aus meinem Fotoalbum auswählen möchte. Das ist aber natürlich etwas grundsätzlich anderes, als eine Datei von meinem lokalen Laufwerk auszuwählen. Meines Wissens nach ist das nicht nur bei meinem iPhone, sondern grundsätzlich bei mobilen OS so.</p> <p>Erste Frage: Stimmt das oder gibt es da Ausnahmen?</p> </blockquote> <p>Wenn ich mich recht erinnere ist Chrome for Android da flexibler - ich kanns aber nicht für dich testen, weil mein Android-Tablet seit etwa einem Monat im Eimer ist.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="http://www.tsviewer.com/index.php?page=ts_viewer&ID=1060332" rel="nofollow noopener noreferrer">Facebook</a> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659924#m1659924 Camping_RIDER janosch.zoller@gmx.de http://www.campingrider.de 2016-01-31T15:54:53Z 2016-01-31T15:54:53Z input[type="file"] und mobile devices <p>Aloha ;)</p> <blockquote> <p>Nein, das ist weit weg. Es gibt Desktop-Geräte, die Touch-Events unterstützen.</p> </blockquote> <p>...und zwar immer mehr. Die meisten Laptops werden heutzutage mit Touchscreen verkauft, Convertibles sind nicht wirklich von Mobilgeräten unterscheidbar und mit Windows 10 verschwimmen die Grenzen immer mehr, da nicht mal mehr unterschiedliche Betriebssysteme eingesetzt werden (übrigens einer der wenigen Aspekte an Windows 10, den ich gut finden kann - wenn auch nicht seine indirekten Auswirkungen).</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="http://www.tsviewer.com/index.php?page=ts_viewer&ID=1060332" rel="nofollow noopener noreferrer">Facebook</a> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659974#m1659974 heinetz 2016-02-01T01:33:53Z 2016-02-01T01:33:53Z input[type="file"] und mobile devices <blockquote> <p>@@heinetz</p> <blockquote> <p>Für dem (mobilen) User, der nur Fotos hochladen kann, möchte ich mein Widget auch gernre ausblenden. Die Frage ist nur, wie erkenne ich das möglichst zuverlässig. Ich kann natürlich auch hier modernizr einsetzen und den Client auch touchevents überprüfen. Das ist sicher nah dran.</p> </blockquote> <p>Nein, das ist weit weg. Es gibt Desktop-Geräte, die Touch-Events unterstützen.</p> </blockquote> <p>Dann kann ich also nicht wirklich herausfinden, welches Endgerät dem User erlaubt, ein PDF auszuwählen und die input[type="file"] zu verbergen, wenn er nur ein Foto aus seinem Album auswählen darf?</p> <p>gruss, heinetz</p> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659949#m1659949 Jörg Reinholz http://www.fastix.org 2016-01-31T19:44:01Z 2016-01-31T19:47:49Z input[type="file"] und mobile devices <p>Moin!</p> <blockquote> <p>Convertibles sind nicht wirklich von Mobilgeräten unterscheidbar und mit Windows 10</p> </blockquote> <ul> <li> <p><a href="http://www.chip.de/downloads/Android-x86_55056231.html" rel="nofollow noopener noreferrer">Android</a></p> </li> <li> <p>Linux (<a href="https://developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/" rel="nofollow noopener noreferrer">ubuntu 4 devices</a>)</p> </li> <li> <p>…</p> </li> </ul> <blockquote> <p>verschwimmen die Grenzen immer mehr, da nicht mal mehr unterschiedliche Betriebssysteme eingesetzt werden</p> </blockquote> <p>Auch die Antwort auf die Frage, was denn im Hinblick auf die Hardware ein "mobiles device" sei, wird immer schwieriger. Inzwischen gibt es ja schon Autos mit einem 15 Zöller (hochkant) in der Mittelkonsole. Und ist ein Raspberry Pi, Banana Pi oder ein Odroid nun mobil oder nicht?</p> <p>Jörg Reinholz</p> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659964#m1659964 Tabellenkalk 2016-01-31T21:38:10Z 2016-01-31T21:38:10Z input[type="file"] und mobile devices <p>Hallo,</p> <blockquote> <p>Inzwischen gibt es ja schon Autos mit einem 15 Zöller (hochkant) in der Mittelkonsole.</p> </blockquote> <p>Hast du etwa noch nicht in einem <a href="https://de.wikipedia.org/wiki/Tesla_Model_S#Bedienung_und_Ausstattung" rel="nofollow noopener noreferrer">Tesla</a> gesessen?</p> <p>Gruß<br> Kalk</p> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659970#m1659970 Jörg Reinholz http://www.fastix.org 2016-01-31T22:20:14Z 2016-01-31T22:22:02Z input[type="file"] und mobile devices <p>Moin!</p> <blockquote> <blockquote> <p>Inzwischen gibt es ja schon Autos mit einem 15 Zöller (hochkant) in der Mittelkonsole.</p> </blockquote> <p>Hast du etwa noch nicht in einem <a href="https://de.wikipedia.org/wiki/Tesla_Model_S#Bedienung_und_Ausstattung" rel="nofollow noopener noreferrer">Tesla</a> gesessen?</p> </blockquote> <p>Mit dem gab's ein Problem. Habe versucht auf dem halben Bildschirm (auf der anderen Hälfte lief die Navigation) Doom zu spielen und die Funktionstasten des Lenkrades an das Spiel gebunden. Leider waren die Wads irgendwie nicht mit der Navigation in Übereinstimmung zu bringen und ich musste an Stellen durch die Wände, wo keine Tore waren … <a href="http://zdoom.org/wiki/Cheat_code#Doom" rel="nofollow noopener noreferrer">idclip</a> brachte mich auch nicht an Ziel weil ich irgendwie Navi und Doom verwechselte und <a href="http://zdoom.org/wiki/Cheat_code#Doom" rel="nofollow noopener noreferrer">iddqd</a> machte auf die Polizei keinerlei Eindruck.</p> <p>Fazit: Ist ein Scheiß-Auto!</p> <p>Jörg Reinholz</p> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659975#m1659975 Camping_RIDER janosch.zoller@gmx.de http://www.campingrider.de 2016-02-01T02:05:04Z 2016-02-01T02:05:04Z input[type="file"] und mobile devices <p>Aloha ;)</p> <blockquote> <p>Dann kann ich also nicht wirklich herausfinden, welches Endgerät dem User erlaubt, ein PDF auszuwählen und die input[type="file"] zu verbergen, wenn er nur ein Foto aus seinem Album auswählen darf?</p> </blockquote> <p>Nein, eher nicht. Macht ja auch Sinn; immerhin gibt das einiges über das Gerät, Betriebssystem, installierte Apps, ... preis. Was ich damit sagen will: Das wird sich nicht ändern, weil es lediglich für Seitenbetreiber und Webentwickler ein Ärgernis ist, dass das nicht geht, für den Benutzer aber im Endeffekt wahrscheinlich eher ein Gewinn an Privatsphäre darstellt.</p> <p>Grüße,</p> <p>RIDER</p> <div class="signature">-- <br> Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller<br> # <a href="http://www.tsviewer.com/index.php?page=ts_viewer&ID=1060332" rel="nofollow noopener noreferrer">Facebook</a> # <a href="https://twitter.com/Camping_RIDER" rel="nofollow noopener noreferrer">Twitter</a> # <a href="http://steamcommunity.com/id/Camping_RIDER" rel="nofollow noopener noreferrer">Steam</a> # <a href="https://www.youtube.com/user/RidersFlame" rel="nofollow noopener noreferrer">YouTube</a> # <a href="http://wiki.selfhtml.org/wiki/Benutzer:Camping_RIDER" rel="nofollow noopener noreferrer">Self-Wiki</a> # <a href="http://community.de.selfhtml.org/fanprojekte/selfcode.htm" rel="nofollow noopener noreferrer">Selfcode</a>: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[ </div> https://forum.selfhtml.org/self/2016/jan/31/input-type-gleich-file-und-mobile-devices/1659976#m1659976 Gunnar Bittersmann selfhtml@bittersmann.de http://bittersmann.de 2016-02-01T04:19:49Z 2016-02-01T04:28:07Z input[type="file"] und mobile devices <p>@@heinetz</p> <blockquote> <p>Dann kann ich also nicht wirklich herausfinden, welches Endgerät dem User erlaubt, ein PDF auszuwählen und die input[type="file"] zu verbergen, wenn er nur ein Foto aus seinem Album auswählen darf?</p> </blockquote> <p>Nein.</p> <p>Wie so oft bei <a href="https://de.wikipedia.org/wiki/Beurteilung_eines_bin%C3%A4ren_Klassifikators#Wahrheitsmatrix:_Richtige_und_falsche_Klassifikationen" rel="nofollow noopener noreferrer">fehlerbehafteten Klassifikationen</a> sind die <strong>Folgen</strong> von <em>false positive</em> und <em>false negative</em> zu bedenken:</p> <ul> <li> <p><em>FP</em>: Der Test ermittelt, dass ein Gerät ein Feature unterstützt, obwohl es das nicht tut.</p> <p>Die Folge ist, dass dem Nutzer etwas angeboten wird, was nicht richtig funktioniert. Ein kleines Ärgernis.</p> </li> <li> <p><em>FN</em>: Der Test ermittelt, dass ein Gerät ein Feature nicht unterstützt, obwohl es das tut.</p> <p>Die Folge ist, dass dem Nutzer etwas vorenthalten wird, obwohl es auf seinem Gerät funktionieren würde. Das Feature ist nicht benutzbar. Ein wohl großes Ärgernis.</p> </li> </ul> <p>Wenn man Geräte beurteilt, ob sie Nutzern erlauben, bei <code class="language-html"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>input</span> <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>file<span class="token punctuation">"</span></span><span class="token punctuation">/></span></span></code> auch PDFs auszuwählen, sollte man eher mehr Geräte durchlassen als zu wenige. Im Extremfall also alle, also auf den Test (<em>user agent sniffing</em>) ganz verzichten.</p> <p>LLAP </p> <div class="signature">-- <br> „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“<br> „Hat auf dem Forum herumgelungert …“<br> (Wachen in Asterix 36: Der Papyrus des Cäsar) </div>