Война, товарищи, война. Ногинский телецентр взорвали. Сейчас включил телевизор - ни одна программа не показывает!
...
Профилактика - это как окно установки шрифтов в MS Windows - оно не менялось со времен Windows 3.11.
Не могу себе представить ситуацию, когда, скажем в Америке, включая ночью CNN, я увидел бы шумы или телевизионную рамку "извините, профилактика".
В Ногинске даже нет телевидения.
среда, 12 мая 2010 г.
Война
: 03:09 Темы: личное, профилактика на тв 0 коммент.
воскресенье, 9 мая 2010 г.
Хотите закачать файл? Получите головную боль!
Как должна выглядеть HTML-форма закачки файла?
1. На экране — красивая, кастомизированная кнопка «Закачать файл».
2. После её нажатия появляется системное окно выбора файла.
3. Пользователь выбирает файл и закачка автоматически начинается.
4. Во время закачки под кнопкой отображается прогресс-бар, с процентами и визуальными делениями.
5. По завершению закачки — сообщение «файл закачен».
Головная боль #1
HTML-поле с выбором файла кастомизировать невозможно. Назначить визуальные CSS-свойства нельзя. Это такое техническое ограничение, оно существовало всегда (более 10 лет уже), и для изменения такого положения сделать тоже ничего невозможно. HTML-код для поля: `<input type="file" name="myfile">`.
Головная боль #2
При автоматическом старте закачки отменить действие нельзя. Разве что закрыть браузер и потерять страницу, с которой закачивался файл. А если это было AJAX-приложение, то придётся заново проходить все этапы, предшествующие закачке файла.
В Firefox отсутствует поддержка метода `.click()` и автостарт не работает.
О докачке файла вообще говорить не приходится. Ведь браузер не предназначен для управления файлами. Так думают почти все веб-разработчики, да и разработчики самих браузеров, но только не пользователи, которым некогда познавать основы работы с ftp.
Головная боль #3
Сделать прогресс-бар стандартными средствами без установки плагинов в браузер, на сервер, в том числе без Flash — никак нельзя.
Если бы можно было узнать системное имя закачиваемого файла до начала закачки, тогда можно было бы обновлять прогресс-бар AJAX-запросами. Но в PHP имя файла становится известным после закачки (переменная `$_FILES`).
Головная боль #4
Осуществить загрузку файла способом, который стал своего рода стандартом (объект XMLHttpRequest, сокращенно XHR) и без перезагрузки страницы — невозможно. Но это можно сделать:
* с помощью методов ADODB (только для IE);
* с помощью методов [@mozilla] (только для Firefox);
* с помощью W3C File API (только для Firefox 3.6+, Chrome, Safari и только частично);
* c применением страшного, ужасного и опасного тега `<iframe>`;
* с куда более страшным и дырявым Flash'ем.
Ни одного нормального метода!
Головная боль #5
Всё это должно работать кроссбраузерно — в как можно большем числе современных и не очень браузеров.
Есть ли лекарство?
Учитывая множество вариантов и кривизну их реализации в браузерах, наиболее подходящим, компромиссным методом является загрузка файла через динамически создаваемый iframe. Это ни разу не AJAX, но тоже «без перезагрузки страницы».
Засада с iframe есть только у Internet Explorer — скрипт, передающий данные в iframe (как правило, это JSON-данные) должен сообщать неправильный MIME-тип: `text/html`. Иначе IE будет предлагать сохранить страницу.
Красивую, «нормальную» кнопку сделать можно, но очень хитрым способом, требующим смекалки и поддержки CSS-свойства `.opacity` со стороны браузера в любом виде, будь то `.style.filter`.
Если кратко — поле `input type="file"` с помощью CSS делается прозрачным и растягивается на всю область «нормальной» кнопки. При наведении курсора на «нормальную» кнопку, прозрачное поле подставляется под курсор, пользователь кликает будто бы на кнопку, а на самом деле на HTML-поле, тем самым вызывая системное окно выбора файла.
Автор: Шильников Дмитрий, testsistema.ru
: 13:52 Темы: веб-разработка 0 коммент.
пятница, 7 мая 2010 г.
Firefox vs. Photoshop
картинка
А это ничего что программа просмотра веб-страничек закрывается дольше и труднее, чем загружается сложнейшая профессиональная программа для обработки изображений?
: 13:55 Темы: firefox, photoshop 0 коммент.