Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

Новости » Вышел Firefox 52.0 » 09-03-2017 08:23:21

karginaolga пишет

hydrolizer
Позвольте поинтересоваться где раздают такое чудо ESR 52 ?

https://www.mozilla.org/en-US/firefox/o … tions/all/
https://ftp.mozilla.org/pub/firefox/releases/52.0esr/

fx52.png

karginaolga пишет

Прочитайте что такое ESR.

Спасибо, я уже лет 5 как в курсе этого.

Новости » Вышел Firefox 52.0 » 09-03-2017 06:37:49

Интересно. Вот здесь разработчики грозились, что начиная с 48-й версии будут недоступны неподписанные дополнения. Вчера я случайно обновился с ESR 45 до ESR 52 - вся моя собственная неподписанная разработка на месте, работает нормально. Раздумали?

Обсуждение расширений » SwitchKeyboardLayout » 14-12-2016 14:44:27

sonyas75 пишет

можно ли убрать иконку из п̶а̶н̶е̶л̶и̶,̶ ̶н̶е̶ ̶з̶н̶а̶ю̶ ̶к̶а̶к̶ ̶э̶т̶а̶ ̶п̶а̶н̶е̶л̶ь̶ ̶н̶а̶з̶ы̶в̶а̶е̶т̶с̶я̶ ̶т̶о̶ч̶н̶о̶,̶ ̶д̶о̶п̶о̶л̶н̶е̶н̶и̶й̶ ̶ч̶т̶о̶ ̶л̶и̶  статус бара?

ээ.. а он есть в Fx45? Может быть, я слишком долго был в анабиозе, и что-то пропустил, но при переходе на 45 мне показалось, что разработчики выпилили статус-бар совсем и окончательно, и поэтому убрал опцию включения/выключения иконки в статус-баре из диалога настроек. Если у вас есть статус-бар, и в нем есть иконка SKL - переведите настройку extensions.skl.skl-icon-enabled в false, эта настройка регулировала отображение иконки в статус-баре.

Обсуждение расширений » SwitchKeyboardLayout » 14-12-2016 13:50:51

Дико извиняюсь за столь долгое молчание - ввиду перманентного завала на работе  было совсем не до разработки для Fx, плюс я законсервировался на версии 24.8 ESR, и поскольку на ней всё (почти), что мне было нужно, работало, я не предпринимал никаких активных действий по переработке чего-либо. Однако с недавних пор на 24.8 работать стало окончательно невозможно ввиду несовместимости этой версии с кучей сайтов, и я переполз на 45.5 ESR - соответственно, пришлось срочно чинить всё, что в этой версии отвалилось.
Вот работающая версия для 45.5 ESR: https://dl.dropboxusercontent.com/u/141 … x.1.30.xpi . Работает и в х86, и в х64 версиях Fx (тестировалась на Win7 SP1 x64 prof. и WinXP SP3). Починился даже индикатор клавиатуры, который, как выяснилось, не работал и в 24.8, и просто был закрыт заглушкой в коде. Основные юзкейсы проверил, вроде бы всё работает, но если кто-то что-то найдет - пишите.
Совместимость с более поздними версиями Fx обещать не

Обсуждение расширений » Preferences Cleaner » 19-10-2013 05:33:48

Так. Настоящим сообщаю, чтоя сворачиваю работу над этим расширением и над HistoryExport. Сразу хочу отметить, что причиной здесь является вовсе не MoFo с её политикой вносимых изменений, а банальная нехватка времени для работы над всем этим - вопроеки ожиданиям, эта нехватка только увеличивается. Отчасти могу констатировать снижение моего интереса к этой теме - она как-то себя исчерпала в плане чего-то кардинально нового. Но с этим можно было бы справиться, если бы было время.
Дабы не вводить посетителей АМО в заблуждение видимостью возможной поддержки и отклика, свой аккаунт оттуда я удаляю.
Последняя выложенная на АМО версия PreferencesCleaner находится здесь.
Экспериментальная и недоработнанная версия PreferencesCleaner находится здесь.
Последняя выложенная на АМО версия HistoryExport находится [url=ht

Разработка » Нужен кусок кода CTRL+U » 09-09-2013 13:54:49

web.num

view-source:

http://forum.mozilla-russia.org/viewtopic.php?pid=626321#p626321

Firefox » user.js или prefs.js? что использовать и как заставить их работать? » 05-09-2013 16:24:25

Zaycoff пишет

и по структуре ничем не отличается от prefs.js

Который в кодировке UTF-8 w/o BOM:
prefs-utf8-wbom.png
Firefox никогда для своих внутренних файлов не использовал ANSI-кодировку.
У notepad++ кодировка ANSI as UTF-8 и обозначает UTF-8 без BOM.

Разработка » Фигурные скобки в имени переменной » 17-08-2013 19:41:26

Достаточно удобный syntax sugar. Вот такое некогда было утянуто из кода яндекс-бара:

Выделить код

Код:

const { classes: Cc, interfaces: Ci, utils: Cu, Constructor: CC } = Components;

Разработка » Обработчик события. » 17-08-2013 11:24:33

FBB пишет

не работает даже во время загрузки окна

оно не должно работать во время загрузки окна, оно должно работать по MouseDown

FBB пишет

Или нужно

Нет, не нужно. Еще раз прочитайте мой предыдущий постинг - в addEventListener нужно передавать не результат отработки метода, а сам метод.

Разработка » Обработчик события. » 16-08-2013 18:31:49

FBB пишет

pm.addEventListener("MouseDown",alert("ok"), false);

Выделить код

Код:

pm.addEventListener("MouseDown", function(event) alert("ok"), false);

- addEventListener вторым аргументом принимает ссылку на метод (делегат). В случае передачи alert("ok") в addEventListener передается результат отработки alert("ok") - void, и на выходе получаем undefined. В случае передачи function(event) alert("ok") (или, если без лямбда-синтаксиса, function(event) { alert("ok"); }) передается ссылка на анонимный метод, который вызвается при срабатывании листенера.

Флейм » Считывание пикселов с экрана пользователя через requestAnimationFrame » 08-08-2013 17:46:58

с точностью до миллионных долей секунды

Например, если отрисовка каждого кадра не превышает 16 миллисекунд

миллисекунда - 10-3
миллионная доля секунды - микросекунда (10-6)
Где-то что-то явно не стыкуется. Специфика источника?

Разработка » NodeName,NodeType xml узла дает undefined из расширения. » 07-08-2013 11:48:17

Выделить код

Код:

alert(dtas[0].nodeType);
  alert(dtas[0].nodeName);

имена свойств - в lowerCamelCase

Разработка » Инструменты разработчика XUL+JS » 06-08-2013 06:04:48

KooL пишет

Как-то я не верю, что всё пишется, как в обычном блокноте.

Примерно так оно и есть. Я использую Notepad++ и Venkman/log4moz для отладки, плюс упаковка в Far'е  - этого хватает.

Разработка » Получить данные из xml на диске с помощью расширения » 02-08-2013 19:58:43

FBB пишет

с помощью XMLHttpRequest() нельзя загрузить файл с локального диска

С чего бы это?

Выделить код

Код:

Components.utils.import("resource://gre/modules/FileUtils.jsm");
var uri = Services.io.newFileURI(new FileUtils.File("C:\\TMP\\1.xml"));
let xhr = new XMLHttpRequest();
xhr.open("GET", uri.spec, false);
xhr.send(null);
Services.console.logStringMessage(xhr.responseXML);
Services.console.logStringMessage(xhr.responseText);

Консольный вывод:

[object XMLDocument]

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <item name="A"/>
    <item name="B"/>
    <item name="C"/>
</root>

Firefox » Ищу набор расширений на замену Tab Utilities » 27-07-2013 17:52:50

Tiger.711 пишет

Потому что джетпак выполняется в отдельной песочнице

Именно. А не в общем XULRunner runtime, как xul-based расширения. И эти отдельные прослойки, вызовы, завернутые в DI, итп, не лучшим образом влияют на быстродействие и отзывчивость расширения. В теории. На практике на более-менее современном железе оценить эту разницу - примерно то же самое, что оценить преимущество кабелей из бескислородной меди.

Firefox » Ищу набор расширений на замену Tab Utilities » 27-07-2013 17:17:10

Tiger.711 пишет

но хотелось бы, опять-таки, какого-нибудь джетпака...

Почему? Приходится много-много раз в день переустанавливать одни и те же расширения?

Разработка » Подскажите как перевести расширение на голом JS » 09-07-2013 06:41:19

Dadom пишет

До 4 пункта-то понятно, а потом..... нужно уметь писать на JS.... )

Чего ж тут уметь?
В .properties-файле:

Выделить код

Код:

some.message=Какое-то сообщение

в коде:

Выделить код

Код:

let stringBundle = Services.strings.createBundle("chrome://my_extension/locale/my_extension.properties");
....
var myStr = stringBundle.GetStringFromName("some.message");
Services.prompt.alert(null, "my extension", myStr);

результат:

sbsample-msg.png

Разработка » Подскажите как перевести расширение на голом JS » 08-07-2013 16:30:18

Dadom
1. Добавить в расширение папку chrome/locale/{locale_id}, где locale_id - буквенный идентификатор нужной локали (например, для русского языка это ru, для английского - en-US, и т.д.).
2. В папке {locale_id} создать файл имя_файла.properties (для использования в JS). Про содержимое файла см. здесь. Сохранить файл в кодировке UTF-8 без BOM (это важно).
3. Зарегистрировать chrome package с указанием на локализованные ресурсы: добавить в расширение файл chrome.manifest, файл должен содержать строку

Выделить код

Код:

locale    chrome_package_name locale_id chrome/locale/locale_id/

где locale_id - идентификатор локали (см.выше), chrome_package_name - имя chrome package расширения (произвольное удобочитаемое).
4. Из кода обращаться к строкам посредством интерфейса [url=https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIStrin

Разработка » Подскажите как перевести расширение на голом JS » 08-07-2013 13:32:13

Dadom
Вот и сделайте эту поддержку локализации так, как принято это делать. Задавать текст интерфейса непосредственно в коде или разметке - это очень плохой стиль.

Разработка » Подскажите как перевести расширение на голом JS » 08-07-2013 11:16:56

Взят неудачный пример - в нем вообще нет поддержки локализации. Сейчас джетпаки уже могут работать со стандартным механизмом локализации через string bundles. Теорию можете посмотреть здесь, в качестве практического примера можно взять ABP.

Новости » Вышел Firefox 23 Бета » 30-06-2013 17:52:33

Они не на ровном месте решили сменить иконку - в 23-й версии перепилен оконный API, из-за чего Minimize to tray reviewed крашит firefox при сворачивании окна.
Да, и еще перестала нормально работать панель дополнений в AIOS - все дополнения отображаются как отключенные, и без своих иконок. Что примечательно - даже последний dev-билд AIOS датирован августом прошлого года, и последние сообщения на форуме автора примерно от той же даты.
Я пока остаюсь на 22, посмотрим, что будет дальше.

Разработка » Проблемы с nsINavBookmarksService и отладчиком » 25-06-2013 16:34:45

cs0ip пишет

это баг, как это видится мне, или особо хитрая фича, которая не будет исправлена в следующих версиях.

Не может это быть багом. Вот код из 22.6b, PlacesUtils.jsm:

Выделить код

Код:

PlacesMoveItemTransaction.prototype = {
  __proto__: BaseTransaction.prototype,

  doTransaction: function MITXN_doTransaction()
  {
    this.item.index = PlacesUtils.bookmarks.getItemIndex(this.item.id);
    PlacesUtils.bookmarks.moveItem(this.item.id,
                                   this.new.parentId, this.new.index);
    this._undoIndex = PlacesUtils.bookmarks.getItemIndex(this.item.id);
  },
.....

и он вполне работает (PlacesUtils.bookmarks - это lazy getter для nsINavBookmarksService). И ничего особенно хитрого здесь тоже не видно.

cs0ip пишет

но он аналогичным образом не видит мои скрипты и падает при любой попытке взаимодействовать.

В окне Venkman'а в главном меню -> Debug галка на Exclude application files снята?
У себя падений как-то не замечал.

Разработка » Проблемы с nsINavBookmarksService и отладчиком » 25-06-2013 12:08:07

cs0ip пишет

то ничего не происходит

1. Совсем-совсем ничего? В консоли ошибок тоже ничего? И заворачивание в try-catch с выводом в последнем стектрейса тоже не дает ничего? Вообще, без приведенного проблемного кода отвечать на такие вопросы вряд ли кто-то будет.
2. Обычно для этого используют Venkman.

Новости » Вышел Firefox 22 Бета » 25-06-2013 11:52:49

Dzirt пишет

которым невтерпеж

...начать новую серию "куда катится Firefox"

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]