Как стать автором
Обновить

Комментарии 48

— Итак, после обновления Firefox до 19 версии, полностью отвалился горячо любимый плагин Яндекс.Бар.
Разве это не хорошая новость?
Мне было удобно, когда стоял данный плагин. Причины описаны в статье.
НЛО прилетело и опубликовало эту надпись здесь
Я использовал бар для перевода слов на странице в лингво наведением на них курсора мыши.

Да, держать целый бар ради одной этой функции как-то жирно, но другого аддона с этой функциональностью найти не удалось.
Ну, «элементы» это таки умеют, хотя часть их функций отключить стоит сразу после установки
Элементы оказались для меня бесполезны в этом плане. Упорно переводят с русского на англияский, хотя мне нужно наоборот :-D
Подозреваю, что из-за того что у меня LC_MESSAGES=en_US.utf8 (всё остальное, включая LANG — ru_RU.utf8).

Снём элементы нафиг.
Ну да, в плане допиленности они никакие — лично я постеснялся бы настолько сырой продукт выводить на рынок, да ещё ломая устоявшиеся привычки пользователей и сжигая мосты. В этом плане руководители проекта не вызывают ни малейших тёплых чувств…
Обновил расширение — теперь функция перевода слов при наведении присутствует.
Вы об «элементах»? Когда я писал свой комментарий, эта функция там уже была. Но в бесполезном для меня варианте (см. мой каммент выше)
Нет, я о своём расширении, смотрите скриншот:

image

Как странен мир. Кто-то убивается, чтоб избавиться от штатного «Бара», а кто-то пишет себе свой…
Всё логично. Бары от интернет-гигантов не любят из-за того, что они сливают персональную информацию (как минимум — все посещённые URL-ы). Если делать свой бар, то этого недостатка не будет — одни профиты.
Вроде как это называется не плагин, а расширение (addon, extension). Плагины для firefox — это библиотеки на базе NPAPI.
Спасибо, исправил.
убрали корректор адресной строки (под предлогом установки Punto Switcher, который может и хорош для обычного работника, но никак не для программиста)
Согласен, сам какое-то время ставил только из-за этой функции его.
Возможность открывать mailto: ссылки в Яндекс почте есть в настройках Firefox.
До чего же запутанное sdk у firefox'a для расширений. простые вещи делаются через какие-то дебри. Ещё и sdk надо ставить, а с ним питона. Отладка через ChromeBug это вообще что-то с чем-то. Пытался перенести своё расширение для рехостинга картинок, вот с XMLHttpRequest как раз одна из проблем. Чтобы выполнять кросдоменные запросы надо использовать его по другому — импортировать эту функцию из XPCOM (на stackoverflow нашёл подобные же проблемы). А там вообще без поллитры никак. Но всё убил баг с BLOBом который никто не хотел фиксить, а у меня не хватает квалификации. Насколько же проще делать расширения для Хрома, просто день и ночь.
Отчасти вы правы, я только из-за заморок с установкой sdk делал проект через веб-интерфейс. Отладкой занимался через консоль ошибок, встроенную в браузер.
Про SDK это вы наверно пошутили.
А вообще, да, писать расширения для Firefox намного сложнее чем для Chrome (ну, в простых случаях), зато глубина кастомизации у Firefox-расширений просто бесконечная, чего не скажешь о Chrome.
Попробуйте переслать blob через XMLHttpRequest. Я никакого пути не нашёл. imgur видимо тоже и написали свой плагин целиком на java для firefox'a. Вот тут в Upload.js простейший код.. Правда, буду очень признателен.
На сколько проще писать расширение для Хрома, на столько проще они и по функциональности. 99% расширений, расширяют не сам Хром а странички сайтов. Ограничения в Хроме — выше крыши. Реально, не видел под хром расширений уровня FireBug (понятно что в самом хроме есть неплохая встроенная замена).
API хрома постоянно совершенствуется. И вообще хотелось бы больше примеров кроме firebug'a. Тот же chrome bug, повторюсь, вообще трудно использовать. А больше никак расширения под firefox не отладить.
Мне сейчас сложно сразу выкатить список расширений, так как сижу уже на Chromium (что ни говори, но он быстрее FF и меньше проблем с Flash) причем Chromium пиленый, с возможностью Открыть/Сохранить файл (долго не мог из-за этой фичи, перейти с FF на Chrome пока не нашел этот кастом). Но как пример, я не видел под хром расширений вида самого браузера, ну например Download Statusbar (помню использовал под FF). На сколько я понимаю, расширения хрома не умеют изменять/встраиваться в интерфейс браузера.
Я даже скажу, что запрет изменения интерфейса это благо. Да, есть вещи более функциональные, тот же адблок, но хром-то на месте не стоит, а даже бежит. Вот они уже выкатили в dev ветке высокопроизводительный api для мониторинга URI и подмены, там даже функции готовые есть — вернуть пустой документ.
да достаточно взглянуть на магазин хрома — прямо рай для юзера, и игрушки и всякие интерфейсы к сайтам превращающие их в приложения — всего валом. А из-за очень сложного api в FF вообще сложно даже начать. И это при том, что это JetPack — вообще призван помогать в быстрой разработке. К тому же я сомневаюсь, что все эти возможности вообще нужны основной массе. Лучше бы разработку упростили.

Во-во… Взгляд на магазин Хрома — это как придти на радио рынок, увидеть циган с медведем, клоунов, цирк шапито и не найти нужной детали (а если и найдете то окажется, что деталь — всего обертка). Конечно хром сам развивается быстро и многие онлайн сервисы чаще выкатывают расширение под хром чем под FF.
Зачем нужны эти игрушки, если в них можно играть зайдя на сайт? Как это расширяет функциональность браузера?
Про благо расширения интерфейса браузера, могу сказать следующее:
Одни из 2 частых вопросов про Хром это:
1. Как сделать так что бы он предлагал не только сохранить файл но и открыть (сохранив в Temp который потом очищается).
2. Как изменить DownloadBar что бы…
И тут ответ один — никак пока это не сделают в браузере, и да, это противоречит модели безопасности Google.

Более того — в хром даже пытались впилить закладки как в файрфоксе — боковой панелью и пару версий они продержались, пока в очередном релизе это не обломали…
Ну вот в моём примере наоборот. И пока этот баг не уберут, будет невозможно.
НЛО прилетело и опубликовало эту надпись здесь
Замена страниц истории и новой вкладки (привет Speed Dial 2) это конечно хорошо, но это не глубокая кастомизация.
Дайте мне другой Download Bar. В FF это реально.
Я про такой уровень кастомизации.
А мотоцикл дадут?
Самокат подарим!
Firefox медленно умирает. У них каша с документацией, она или незаконченная или помеченая как устаревшая, и с каждой страницы еще 10 страниц нужно открывать. Еще они не брезгуют убирать фичи которые им показались уже не нужными. Ну а самая большая проблема — это ревью плагина при паблишинге. Такое впечатление что там роботы работают. Уже второй раз завернули плагин ибо им показалось что jQuery включеная в плагин неофициальная (видимо хеш не сходится), уже третюю либу вставляем с официального сайта. И каждый раз нужно ждать несколько недель пока они соизвоолят бегло проверить расширение галимым скриптом. Тоже самое касается упакованых либ — они им не подходят так как облажались они с независимостью плагинов, разделением процессов и областью исполнения кода.

И да, он до сих пор самый медленный в джаваскрипте, благо вебворкеры помогли вынести функционал в отдельный поток. На других браузерах тот-же самый функционал так заметно не тормозил

То что они сейчас выкатывают СДК для разработки расширений конечно и хорошо, но с другой стороны почему Хром сразу сделал раз и нормально?! Уже не говоря о том что серьезные вещи пока не поддерживаются и приходится кодить все вручную без СДК.

А плагины для мобильного файрфокса — отдельная песня. Они уже трижды меняли архитектуру без обратной совместимости. А я чуть голову себе не сломал при подгоне расширения к последнему файрфоксу с Native UI. Оказывается у них аддоны с SD-карточки не читаются в запакованом виде. И люди жаловались, тикеты открывали — а мозиловцы лишь вонтфикс и ворксформи ставили. И уж потом я где-то случайно нарыл решение этой проблемы
Зачем jQuery в плагине???? o_O
Чем не устроили родные функции, что вы решились прикрутить дополнительные 40кб?

И почему я, написав тонну расширений, не замечал никакого дискомфорта с документацией?
Документация у них отличная и почти всегда на все вопросы можно найти ответы.

Публиковать я не публиковал — особой необходимости не было — про это не спорю, мож так и есть,
но вот про «умирает» — это зря тоже — все отлично работает и развивается.

И на фоне сдувшейся оперы мне нравится, что есть еще сильные игроки на браузерном поприще, и это очень хорошо — конкуренция — это всегда очень хорошо.

Кроме того, если уж говорить про хром — расширения под FF имеют в ущерб простоты гораздо более глубокую кастомизацию,
но если честно, то и сложность их не настолько критична.
jQuery используется в построении интерфейса над логикой которого работает дизайнер, а не я, потому и используется им эта либа. Хотя я лично сторонник использовать личную реализицию нужных фич в плагинах

Кастомизация действительно на высоте, но Мозилла думаю со временем ее зарубает (сдк тому явный признак), так как безопасность страдает при этом. Ведь у них даже свои требования к стилю написания кода, названия переменных и свойств, а так-же классов css и айдешек елементов во избежание конфликтов с другими плагинами и самим файрфоксом, и все это зарубывается на этапе паблишинга плагина. И думаю правила эти придумали довольно недавно, так как в других плагинах этого нету ибо раньше проверка была не столь критична.

А вы работали с расширениями не требующими рестарта браузера? Да, СДК сейчас старается сглаживает боль, но раньше когда его не было нужно было всегда за собой «подтирать» при выключении/удалении плагина, а это порой нетривиально, так как забыть о чем-то довольно дегко. Не понимаю почему в других браузерах сей процесс автоматизирован?

А насчет документации, возможно мое мнение подпортила документация по Firefox OS, вот там жуть полная, я так и не нашел нормальной информации как сделать приложение-сервис. А общение с поддержкой ни к чему не привело, молчание в ответ. И главное нужное апи вроде и есть, да вот информации по нему нету.

Да, я тоже написал много расширений для всех популярных браузеров, и вот такое у меня мнение сложилось про файрфокс неспроста, а на опыте
> почему Хром сразу сделал раз и нормально?!

Честно говоря, если заглянуть в «Adblock Plus — Bug reports» так не кажется.
горячо любимое расширение Яндекс.Бар
горячо любимое
HAHAHA OH WOW
(куда более горячо любимый Habrastorage не пускает к загрузке файлов, говоря о нужности авторизации на Хабрахабре)
Если что-то не так в орфографии — напишите мне, я исправлю. Про «горячо любимое» — так я выразил свои эмоции данному продукту :)
Вы на самом деле не представляете, скольким людям это приложение нравилось. Хотя политика «впарить всем» — реально отвратительна.
> создать свое подобное расширение, которое будет включать в себя такие плюшки, как просмотр почты и корректор адресной строки

Про настройку mailto: уже написали, а для адресной строки есть скажем UrlCorrector. Хотя в адресах сейчас встречается всё больше кириллицы, что уменьшает полезность подобных расширений. В ближайшей перспективе, видимо действительно будет удобнее пользоваться пунто (с ручной коррекцией по scroll lock).
______

Да, тут выше критиковали сложность фоксовых расширений. Упомяну что небольшие вещи (не только кнопки) довольно удобно делать в виде Сustom Buttons, правда необходимо и само расширение. См. например, forum.mozilla-russia.org/viewforum.php?id=34
Вместе с «Баром» почили в бозе и визуальные закладки Яндекса. А то, что предложили взамен — тоже не совсем оно. В общем, история та же — написал для себя замену. Но наверно было бы глупо и эгоистично не поделиться со всеми, следуя примеру топикстартера. Если что, сильно не пинайте — писалось для себя :-)
под предлогом установки Punto Switcher, который может и хорош для обычного работника, но никак не для программиста

при клике правой кнопкой по иконке Пунто в трее есть опция «Автопереключение», снимаете птичку и конвертация только по Break

P.S. а еще в пунто мне понравилось переключать раскладки по КапсЛоку — намного быстрее как Ctrl+Shift, так и Command+Space как на Маке. Все равно никто уже почти не пользуется капсом.
Не менее удобно переключать между двумя часто используемыми языками одиночным левым и правым Ctrl — всегда знаешь, на какой язык переключился.
Аддоны для FF несколько запутаннее аддонов для Chrome, но если разобраться, всё не так плохо.

Как мы знаем, получить dom xml документа можно с помощью нескольких функций:
XMLHttpRequest — отпал, т.к. выдало ошибку кроссдоменного запроса (может я не так что-то делал?)


Кроссдоменные запросы делать можно, только немного не так. Из контент-скриптов запросы делать нельзя, их надо делать по особому:

function get_alexa_rank(url) {
		var Request = require("request").Request;
		Request({
			url: "some url',
			onComplete: function (response) {
				worker.port.emit('message1', response.text);
			}
		}).get();

	}

	function get_google_pr(url) {
		var Request = require("request").Request;
		Request({
			url: 'some url',
			onComplete: function (response) {
				var google_pr = response.text;
				google_pr = google_pr.charAt(google_pr.length - 2);
				worker.port.emit('message2', google_pr);
			}
		}).get();
}


На стороне контент-скрипта листенеры выглядят так:

self.port.on("message1", function(addonMessage) {
		var alexaRaw = $.parseXML(addonMessage),
			alexa = $(alexaRaw).find('POPULARITY').attr('TEXT');
		if (alexa === undefined) {
			$('#alexa_rank').text('No data');
		} else {
			$('#alexa_rank').text(alexa);
		}

	});
	self.port.on("message2", function(addonMessage) {
		if (addonMessage === '') {
			$('#google_pr').text('0');
		} else {
			$('#google_pr').text(addonMessage);
		}
	});



Гуглите модуль Request и передачу сообщений к контент-скриптам и обратно.
Спасибо за ответ! Про модуль Request у меня написано в статье. Модуль легкий, по этому всего одно предложение) Наверно вы и не заметили.
Мне по части перевода всего и всея в адресной строке понравилась реализация отсюда: addons.mozilla.org/en-us/firefox/addon/input-language-assistant/
Во-первых не запрещает писать русские буквы, если они нужны, во-вторых не добавляет кнопок, в-третьих ему похоже плевать на раскладки). А что отвалилось то в отжившем своё баре? Он вроде давно «не совместим», но работает, не?
Спасибо за статью.
Придется мне в этом деле тоже поразобраться. Мой давно юзаемый LastPass продался в Logmein. Понимаю, что может быть это и паранойя. Но я не люблю вот такие вот закиды.

Никогда не писал плагины для FireFox, но похоже будет проще разобраться с этим, чем вспоминать (почти наугад по остатком 5-ей летней давности) как через WinAPI добраться до полей ввода на странице и загонять туба из базы парольчики.

Буду делать маленькую персональную замену для LastPass
Ничего сложного, я смотрел в том году сдк, его допилили, убрали онлайн версию и вообще всё стало хорошо) Не написали еще?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории