"поддержка стандартов"? гыгы!
|
iNDiAnFLy 09/30/09 11:30 PM |
|
вот так даа! трубят о поддержке стандартов, а я вот совершенно случайно обнаружил фишку (уверен не я один на это натолкнулся) которая по задумке должна была ещё в HTML 4.01 поддерживаться (а может и раньше - не стал читать)
по порядку...
работая над некой галереей изображений, я попытался предоставить пользователям максимум удобств. сам много раз чертыхался отыскивая нужный файл в своей "файлопомойке", а потому посчитал логичным, если сразу же отфильтровать для пользователя файлы нужного типа, предполагалось, что это будут только изображения 3-х распространённых форматов: jpg, png и gif.
точно зная, что это достаточно легко реализуется, сделал простую форму (для вас упростил)Code:
<form action="#" method="post" enctype="multipart/form-data"> <fieldset> <input type="file" name="img" accept="image/jpg,image/png,image/gif" /> <input type="submit" /> </fieldset></form>
вроде бы ничего сверх естественного, accept="image/jpg,image/png,image/gif" должен был бы подсказать браузеру, что выбираться будут файлы только медиа-тип которых соответствует перечисленным, читаем: _//www.w3.org/TR/html401/interact/forms.html#adef-accept_
В ответ на: This attribute specifies a comma-separated list of content types that a server processing this form will handle correctly. User agents may use this information to filter out non-conforming files when prompting a user to select files to be sent to the server (cf. the INPUT element when type="file").
тоесть должны указываться медиа-типы, которые браузер может отфильтровать при выборе, тоесть тут идёт речь не о том, что браузер должен, а о том, что он может помочь пользователю.
я понимаю, что "может" не обязывает разработчиков следовать спецификациям, но в 21-ом веке, когда все с пеной у рта кричат о юзабилити и лепят километры AJAX-кода ради каких-то сомнительных удобств, после чего допиливают браузеры что-бы раскривые JS-библиотеки хоть как-то работали и не вешали всю систему, уж можно было бы позаботиться о работоспособности базовых функций в браузере, ведь такие мелочи действительно здорово облегчают жизнь!
теперь о капле мёда в бочке дёгтя =)
в опере на самом деле accept="image/jpg,image/png,image/gif" работает, но фильтруются только файлы первого из перечисленных медиа-типов, в данном случае браузер предложит выбрать файлы с расширением jpg, хотя по спецификациям мог-бы (намеренно не пишу "должен") предложить все файлы медиа-типы которых перечислены через запятуюВ ответ на: ...comma-separated list of content types...
* а вот остальные браузеры и вовсе сливают, я проверил в Opera 10.10, FF 3.5.3, IE 6 (IEs4Linux), Arora 0.9.0 (всё это под линуксом) так вот все кроме оперы просто ничего не фильтруют, а предлагают "All Files"
вот так-то!
похоже, что опера ещё долго будет оставаться самым комфортным для пользователей браузером, даже не смотря на явные косяки и недоработки, у остальных то и того хуже.
прошу проверить в доступных браузерах под виндоз и подтвердить или опровергнуть данную недоработку.
ЗЫ. в опу аяксы и до поры до времени вообще весь JS!!!
|
|