= Сообщение: 1186 из 6236 ================================== RU.BLOG.MITHGOL = От : Mithgol the Webmaster 2:5063/88 20 Nov 07 13:28:34 Кому : All 20 Nov 07 13:28:34 Тема : Firefox 3 Beta 1 с точки зрения разработчика гипертекстового Фидо FGHI : area://RU.BLOG.MITHGOL?msgid=2:5063/88+4742d8de = Кодировка: CP866 =========================================================== ============================================================================== * изначально написано в эхоконференцию Ru.Blog.Mithgol * также было отослано в эхоконференцию Ru.Mozilla * также было отослано в эхоконференцию Ru.FTN.Develop
Как хорошо-то, Господи! Ещё с лета я ждал появления этой версии Файерфокса, чтоб начать строить поверх неё свою реализацию гипертекстового Фидонета. Ожидание было долгим, но оправданным: поглядите-ка, сколько вкусных функций и способностей добавлено в эту версию Файерфокса её разработчиками!..
Сайты Паутины можно регистрировать как обработчики URLов:
Это значит, например, что FGHI-гейт Константина Кузова может встраиваться в Firefox таким образом, чтобы Firefox мог открывать фидонетовские гиперссылки, скармливая их гейту.
Приложения и расширения могут проверять, активно ли подключение к Интернету:
Работают мягкие переносы (­), так что в гипертекстовом Фидонете Marinais будет не о чем беспокоиться ;-)
Работает свойство window.fullScreen, которое позволяет проверить, на полный ли экран развёрнуто окошко.
Работает функция getClientRects(), с помощью которой джаваскрипты могут считать число строк в блоке текста, и даже получать их координаты.
Работает функция elementFromPoint() для получения элемента по его координатам.
Работа с буфером обмена вызывает события oncut, oncopy, onpaste, onbeforecut, onbeforecopy и onbeforepaste. Их ещё не успел никто документировать более, чем в баге https://bugzilla.mozilla.org/show_bug.cgi?id=280959 ── но выглядят они довольно клёво.
Частичная поддержка JavaScript 1.8. Впрочем, эти операторы мне не по нраву, кроме, разве что, замыкания выражений (expression closures). Описываются тут:
Hесколько более навороченная поддержка SVG, нежели прежде: более пары десятков новых фильтров, узоры, маски, инородные объекты... Особенный прикол с этими объектами, поскольку можно целую HTML-страницу всунуть и подвергнуть разным SVG-преобразованиям. Вот демка:
Появились полупрозрачные меню, а также редактируемые элементы меню и прочие ништяки.
Появилася возможность навесить проверку правописания на любую текстовую область в расширении (например, навесить проверку правописания на фидопочту в Fidofox).
Элемент textbox снабжён методом reset() ── для возвращения к первоначальному (установленному по умолчанию) значению вводимой в него строки.
Также прекрасные совершенно настройки того, как textbox в расширении будет обрабатывать переносы строки в тексте, который в него вклеивается из буфера: либо вставлять как есть, либо вставлять только первую строку (так оно настроено по умолчанию), либо заменять переносы строк пробелами, либо заменять запятыми, либо игнорировать переносы строк, либо игнорировать и переносы строк, и все те пробелы, которые вокруг этих переносов стоят. Я, правда, не слишком врубаюсь ещё, что значит 'вставлять как есть'. Может получиться довольно мрачно, ежели в однострочном поле будут переносы строки.
Можно создать кнопку, которая, будучи нажата мышою, станет автоповторять связанную с этой кнопкою команду ── пока кнопку не отожмут.
Автор, название и описание расширения, а также URL его домашней страницы ── то есть все элементы, отображающиеся в списке расширений ── могут переводиться на разные языки:
Можно следить, давно ли пользователь ничего не делал (то есть не двигал мышою и не топтал клавиши) ── полезно на тот случай, если мне вздумается реализовать скринсэйвер ── хотя бы такой примитивный текстовый, как в GoldEd+.
FUEL прежде всего полезен как движок для работы с настройками Файерфокса, а ещё в значительной мере упрощает программисту работу с закладками, с аннотациями, с сеансовой базою данных, с событиями, с расширениями...
Кроме того, в третьем Файерфоксе появился легко скриптуемый ввод и вывод данных при работе с файлами и прочими потоками:
Клёвая штука, но пока не документированная. Я могу, конечно, взять в патче https://bugzilla.mozilla.org/attachment.cgi?id=280789&action=edit тот кусок, который modules/libjar/zipwriter/public/nsIZipWriter.idl ── и на его основе попробовать что-то наскриптовать. Hо неприятно, что приходится самому в этом разбираться на таком уровне.
Кроме того, Файерфокс теперь умеет по jar:-протоколу показывать содержимое ZIP-архивов:
Меня, с моими идеями о гипертекстовом и геоинформационном Фидонете, более всего интересует работа с микроформатом geo, конечно.
Общее резюме такое: даже если бы я не сосредотачивался на разработке стандарта адресации в Фидонете, а вместо него сидел и сочинял сам Фидофокс эти полгода, то безо всех этих прекрасных инструментов впустую убил бы время на изобретение велосипедов: читал бы настройки без FUEL, рисовал календарь и часы более общими XUL-объектами, импортировал скрипт синтаксического разборщика фидошных URLов вместо того, чтобы сделать его модулем, декодировал base64 джаваскриптом, а для доступа к базам фидопочты сочинял бы собственную обёртку вокруг XPCOM.
Hо теперь есть FUEL, есть календарь и часы, есть возможность писать JS-модули, есть кодек base64, есть скриптуемый IO.
Более того, есть даже ZIP-обработчик, есть даже объект микроформатов.
Единственное, чего мне ещё недостаёт ── это кодека UUE; но уж такой-то XPCOM я могу и сам себе наджаваскриптовать.
Мораль: на этой неделе свёртываю разработку FGHI URL 0.5 и начинаю играться с первой бетою третьего Файерфокса. Сперва как простой пользователь, но затем и как разработчик расширений. Задачка категории Hello World: заставить мой Советский Файерфокс (Soviet Firefox) обновляться через Паутину в подписанном цифровой подписью виде.
Ceterum censeo Diptaunum esse delendam! [Ru.Mozilla] http://Mithgol.Ru/ Mithgol the Webmaster. [Team В эхолисте ,,ё`` уместим] [Team А я меняю subj]
... Какой вклад в свержение диктатуры внесут избранные средства? (Джин Шарп) --- Последнее из пpочитанного: ,,Войны людей и богов`` Захарии Ситчина. * Origin: Раньше у России был путь Ленина ── а теперь лень Путина (2:5063/88)