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

На IRC-канале #mozilla-ru можно получить техническую консультацию онлайн и, конечно же, порцию общения.

Сustom Buttons » Custom Buttons » Вчера 20:08:32

Dumby пишет:

Насчёт закладок на кнопки, у которых слишком длинный URL, наверно и раньше такое было.
Прошёлся по некоторым версиям, дошёл аж до Firefox 10.0

Похоже, совсем никто не пользовался... :) Ну да ладно, это не критично.
Что характерно, код странный, можно было не делать вообще ничего, задать только лимит в БД, само бы все подрезалось. А пользователю надо выводить сообщение, а не как сейчас.

Сustom Buttons » Custom Buttons » 12-10-2017 09:45:40

Infocatcher пишет:

11-10-2017 12:12:52
А ведь еще и создание закладок для кнопок отломали:

Error: Bookmarks.jsm: fetch: Invalid value for property 'url': "custombutton://

Жуть какая, «счастливой отладки» и многословные валидаторы.
custombuttons.bookmarkButton() -> PlacesCommandHook.bookmarkLink() -> ... ->
[spoiler=Больше странного кода!]Firefox\omni.ja\modules\Bookmarks.jsm

Выделить код

Код:

function validateBookmarkObject(name, input, behavior) {
  return PlacesUtils.validateItemProperties(name,
    PlacesUtils.BOOKMARK_VALIDATORS, input, behavior);
}

Firefox\omni.ja\modules\PlacesUtils.jsm

Выделить код

Код:

// Imposed to limit database size.
const DB_URL_LENGTH_MAX = 65536;
…
/**
 * List of bookmark object validators, one per each known property.
 * Validators must throw if the property value is invalid and return a fixed up
 * version of the value, if needed.
 */
const BOOKMARK_VALIDATORS = Object.freeze({
  guid: simpleValidateFunc(v => PlacesUtils.isValidGuid(v)),
  parentGu

Сustom Buttons » Custom Buttons » 11-10-2017 12:00:57

Dumby пишет:

Infocatcher пишет:

немного оживил DOM Inspector: dom_inspector-2.0.16-fixed.xpi

Предположительно снова сломали (пустые панели).

document.querySelector(":-moz-devtools-highlighted"); на 57.0b4 возвращает null,

а на 58.0a1 (2017-09-29) образует ошибку
SyntaxError: ':-moz-devtools-highlighted' is not a valid selector

Возможно как-то связано с этим.

Закомментировал соответствующую строку и панели появились,
и, вроде, даже Flasher работает.

\inspector@mozilla.org\chrome\inspector\content\inspector\Flasher.js

Выделить код

Код:

function Flasher(aColor, aThickness, aDuration, aSpeed, aInvert)
{
  //document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);


(добавлено) Или, может, лучше так
[spoiler]

Выделить код

Код:

function Flasher(aColor, aThickness, aDuration, aSpeed, aInvert)
{
  //document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);
  try {
    document.querySelector(HIGHLIGHTED_PSEUDO_CLASS);
  } catch(ex) {
 

Обсуждение расширений » FireGestures » 08-10-2017 12:49:17

oleg.sgh пишет:

Нужен код жеста - скопировать адрес страницы. Т.е. то, что в адресной строке, жестом в любом месте страницы.
Гибрид из набора не подходит.

Поиск по «copy» среди файлов расширения:
firegestures-1.11.1-fx.xpi\chrome\locale\en-US\firegestures\mapping.dtd
-> <!ENTITY gestureCmd.hybridCopyURL "Copy Location">

firegestures-1.11.1-fx.xpi\chrome\content\firegestures\browser.js
->

Выделить код

Код:

            case "FireGestures:HybridCopyURL": 
                var url = this.getLinkURL() || this.getImageURL() || 
                          this.sourceNode.ownerDocument.location.href;
                var clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
                clipboard.copyString(url);
                break;

Можно попробовать вот такое:

Выделить код

Код:

var url = FireGestures.sourceNode.ownerDocument.location.href;
var clipboard = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
clipboard.copyString(url);[/co

Сustom Buttons » [CB]Session Bookmarks » 04-10-2017 21:06:39

Dumby
Спасибо!
Все же отмечусь, что видел, проверил, что да, опять поломали, но руки не дошли (хотелось попробовать сделать универсальное, чтобы список атрибутов само вытаскивало из разметки и прочие удобства внедрения).
С выходом этого безобразия в бета-версии поток приветов от пользователей усилился. :sick:

Firefox » Исходный код выделенного фрагмента » 23-09-2017 22:44:06

remkort пишет:

Виктор Пелевин еврей и дебил. Я понимаю только язык программистов, а не сатанистов, молодой человек!

Казалось бы, понимание должно способствовать отличению сообщений от подписей, но, видимо, нет. Равно как и возрастных гаданий по аватарке не должно бы быть.

remkort пишет:

Вам что, с космоса привозят в капсуле схемы создания программы Mozilla Firefox? А живых людей на сайте нету?

Указанные вопросы следует задавать разработчикам браузера: https://bugzilla.mozilla.org/
Можно даже попытаться прислать им правильные схемы, но шанс, что повезет, на самом деле мал.

И что помешало переключить view_source.tab в false?
А еще в любом случае должен выводиться только исходный код выделенного фрагмента, и если это не так, то мешают установленные расширения.

Обсуждение расширений » Right Links » 22-09-2017 20:22:14

j23 пишет:

Будет ли Right Links в перспективе работать на 57-й версии?

Будет, но с ограничениями, я, наверное, лучше сделаю отдельную версию...
https://github.com/Infocatcher/Right_Links_WE#issues
Работает уже сейчас (но все же сыро), без подписи и собирать надо вручную (по сути – только упаковать в ZIP-архив с расширением .xpi).

Сustom Buttons » Custom Buttons » 20-09-2017 20:30:54

Dumby пишет:

Какая сложная система callback'ов, я бы так не смог, наверно.

Не, ну прибедняться тоже не надо. :blush:

Dumby пишет:

Выделить код

Код:

    if(navigator.platform == "Win32") {

Думается, все современные редакторы должны уже понимать формат новой строки с \n, но да, неаккуратно выходит.

Заодно поднял свои старые недотестированные наработки от двойной инициализации при открытии окна в SeaMonkey:
custom_buttons-0.0.5.8.9-fixed6pre2.xpi
На всякий случай сделал отключатель в виде extensions.custombuttons.preventDoubleInitialization.

Сustom Buttons » Custom Buttons » 20-09-2017 10:21:58

Dumby пишет:

Я внешним редактором не пользуюсь совсем …

Аналогично...

На пробу: custom_buttons-0.0.5.8.9-fixed6pre.xpi
Как-то коряво, но сойдет, переписывать не хочется. Бонусом должно было научиться в юникодные пути.

Firefox » Исходный код выделенного фрагмента » 19-09-2017 15:07:57

За открытие во вкладке/окне отвечает настройка view_source.tab в about:config.

Сustom Buttons » Custom Buttons » 19-09-2017 13:46:15

(отсюда)

Dumby пишет:

Про ночнушку трудно что-то определённое сказать.
Там сейчас развели кипучую возню, чтобы поставить
расширения враскоряку как можно быстрее.

Я наконец поборол лень...
С подписью: custom_buttons-0.0.5.8.9-fixed5-signed.xpi
Без подписи: custom_buttons-0.0.5.8.9-fixed5.xpi

Ставится на Firefox 57, если сделать
extensions.allow-non-mpc-extensions = true
extensions.legacy.enabled = true

И до кучи немного оживил DOM Inspector: dom_inspector-2.0.16-fixed.xpi

Сustom Buttons » [CB]Custom Buttons Editor: Toggle on Top » 19-09-2017 11:52:53

Dumby пишет:

Какие чудеса перфекционизма.

А, ну и еще если просто сделать storage = global[ns] = {} – начинает течь память, сборщику мусора не нравится, если подсовывать чужеродные объекты. Тут, наверное, по-простому не проверить, а вот с отключаемыми расширениями это видно, оседает в about:memory (если, конечно, внезапно вдруг не починили).

Dumby пишет:

Значит storage будет в едином глобальном объекте, а не в NSVO от Services
Нет, ну нормально, просто слегка неожиданно.

Аaa, я что-то подумал, что вываливает некую обертку... а оказалось нечто уникальное для каждого jsm.
И куча оказалась не совсем кучей:

Выделить код

Код:

var global = Components.utils.import("resource://gre/modules/Services.jsm", {});
global = Components.utils.getGlobalForObject(global);
global.Services; // undefined

Раз так, пусть в старых версиях будет лишний вызов getGlobalForObject():
https://github.com/Infocatcher/Custom_B … eb50597eb3

Сustom Buttons » [CB]Custom Buttons Editor: Toggle on Top » 18-09-2017 21:41:08

Dumby
Что-то они странные, сначала разделили, а теперь обратно все в кучу валят. И я не понял, расширения тоже в отду кучу свалят?
И, главное, почему не вернуть глобальный объект... Так много вопросов, так мало ответов. :sick:

Object.create() – это хотелось, чтобы быстрее работало, проверки на property in object должны работать быстрее, если не лезет в прототип (которого нет). И in быстрее, чем .hasOwnProperty().
А по части корявости – что new global.Object() дернуть, что global.Object.create() позвать... многословно.

Подкрутил, спасибо!
https://github.com/Infocatcher/Custom_B … 1c867fe0f9

Сustom Buttons » Custom Buttons » 18-09-2017 21:15:54

intersk пишет:

системные часы показывают правильное время

Если выставлено privacy.resistFingerprinting = true, все функции про время будут вести себя, как будто часовой пояс UTC+0. Что самое интересное, для расширений и самого браузера – тоже переправляет...

Обсуждение расширений » Extended Link Properties » 10-09-2017 23:28:29

Dumby пишет:

Как мягко и интеллигентно сказано.

Да что-то как-то... воздух-то сотрясать. Донести что-то дельное до разработчиков, по сути, так ни разу и не вышло у меня, а тут ругать некого.

Dumby пишет:

Кстати, такой вот не displaySpec. :)

Вот что самое удивительное – вот в разметке юникод, а копирует оно самовольно эти свои пуникоды. А незадолго до – и network.standard-url.escape-utf8 = false отломали.

10-09-2017 23:34:17
Ага, лекарство: network.standard-url.punycode-host = false

Обсуждение расширений » Extended Link Properties » 08-09-2017 21:23:01

Тестовая версия: https://addons.mozilla.org/addon/link-properties-plus/versions/1.6.2pre2
Неподписанная версия: link_properties_plus-1.6.2pre2-fx-sm-tb.xpi
(исходный код)


Dumby пишет:

Выделить код

Код:

        var req = new Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1", "nsIXMLHttpRequest")();

Эксперименты показали, что раз действо происходит в окне, то и new XMLHttpRequest() есть и работает.

Обсуждение расширений » Extended Link Properties » 08-09-2017 20:03:30

Dumby пишет:

Что-то у меня about: ссылки никак...

О, спасибо!
Какие они настырные с этим nsILoadInfo...
Хотел было спросить про pathQueryRef, потом погуглил на developer.mozilla.org (пусто), потом просто погуглил... больные люди, честное слово. :sick:

SurferNet пишет:

Теперь после релиза ещё пару месяцев ждём появления в мозилла сторе? :lol:

Я пока не отправлял релиз на проверку. Скоро вообще могут прикрыть лавочку. о_О Хотя для SeaMonkey же еще.
Ну а для бета-канала подписывает после прохождения автоматических тестов.
Можно попытаться что-то сделать на WebExtensions, но ни в диалог сохранения влезть, ни окошко нормальное сделать. :(

Обсуждение расширений » Extended Link Properties » 08-09-2017 13:02:18

SurferNet пишет:

Почему дата и время этого не берётся?
Есть такая программа Website-Watcher, она нормально забирает.

Это из-за нижнего регистра заголовков, теперь можно как угодно лепить:
RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): 3.2.  Header Fields

Each header field consists of a case-insensitive field name followed
by a colon (":"), optional leading whitespace, the field value, and
optional trailing whitespace.

Там в ответе сервера

content-length: 3923576
content-type: application/octet-stream
last-modified: Wed, 30 Aug 2017 14:26:57 GMT

А проверки заголовков делаются для «Content-Length».
Записал себе: https://github.com/Infocatcher/Link_Pro … /issues/26

Farby пишет:

у меня все берется [url=http://rgho.st/8BYZkxTTW?jslayout=modal-show-image][url]http://rgho.st

Firefox » отключение проверки цифровых подписей дополнений в Firefox 48 » 17-08-2017 19:45:28

saqwe пишет:

на 55.0.2 как-то можно установить непроверенное расширение?
файлы config.js и config-prefs.js созадл и положил куда надо, установил Disable Add-on Compatibility Checks (Version 40+), но расширение right_links-0.4.1pre2-fx-sm.xpi никак не хочет устанавливаться

Вот такой config.js можно попробовать: https://forum.mozilla-russia.org/viewto … 87#p741087 (там в конце, в свернутом)

И есть же подписанная версия: https://addons.mozilla.org/addon/right- … ions/0.4.1

Новости » Вышел Firefox 54.0.1 » 10-08-2017 19:09:34

ibb1386 пишет:

Это тоже самое, что, грубо говоря, использовать официальный софт и моды к этому софту, которые дают доп.нагрузку на продукт - производительность теряется.

Как будто официальные разработчики пишут идеальный код. :)
Не получится однозначно сравнить программиста за зарплату, но с планом выпуска продукции и программиста-энтузиаста, который делает что-то для себя без лимита по срокам. У первого, возможно, выше квалификация, но вот мотивация второго – куда выше.

Хваленые программисты браузера, столкнувшись с падением производительности из-за встроенного механизма переопределения User Agent'а, которое было из-за потерь на js-реализацию отслеживания запросов... нет, не оптимизировали ничего, не доработали JIT-компилятор, а просто выкинули этот функционал из стандартной поставки. А что миллионы ставят какой-нибудь блокировщик рекламы, использующий аналогичную технологию обработки запросов – это все наплевать.

Вообще говоря, идеальный вариант – это когда 1) разработчики

Новости » Вышел Firefox 54.0.1 » 10-08-2017 13:40:14

toexc пишет:

А как же

Продолжено усовершенствование API WebExtensions для разработки дополнений, совместимых с браузером Chrome. Из новых программных интерфейсов отмечается реализация API runtime.onMessageExternal для организации взаимодействия между разными дополнениями WebExtensions и API nsiProfiler для доступа ко встроенным средствам профилирования движка Gecko. Внесена порция новых возможностей в API webRequest. Добавлена возможность изменения параметров тем оформления через WebExtensions.

и прочие бла-бла-бла каждый релиз?

А так, что основная часть багов на тему – или wontfix, или unconfirmed, или когда-нибудь потом.
Что добавляют – да, хорошо. Но это малая доля от того, что можно сделать расширениями старого формата.

ibb1386 пишет:

Он и не будет делать даже, если будут возможности.
Его лишают кормушки в прямом и переносном смысле.

Это представьте, если Firefox официально введет (пока только частично вводит) полную реконструкцию интерфейса со стороны поль

Новости » Вышел Firefox 54.0.1 » 09-08-2017 23:08:45

ibb1386 пишет:

Ну и естественно руки - нет мозгов и рук для оптимизации своего дополнения под новые фишки от [firefox]

И как, интересно, разработчик CTR сделает хоть что-нибудь, если разработчики Firefox выпиливают настраиваемость и не добавляют возможностей для хотя бы даже частичного ее восстановления?

Сustom Buttons » [CB]Attributes Inspector (для разработчиков) » 28-07-2017 20:03:08

Vitaliy V. пишет:

Может на 38, ну а то что возвращает "3.2.2" так это скорее всего Goanna 3.2.2

Я поискал официальные упоминания, но каких-то особых привязок к версиям Firefox/Gecko не нашел, тут же функциональность важна, а не портированные исправления безопасности. Хорошо еще, что такая (не особо правильная) проверка только одна делается.

Сustom Buttons » [CB]Attributes Inspector (для разработчиков) » 28-07-2017 13:11:10

rgdru пишет:

А поправить кнопку для работы в Pale Moon 26.5.0,27.4.0 не работает Escape,Ctrl+Shift+C,Ctrl+Shift+W...?

Автор Pale Moon упоролся. :(
Когда основан на Gecko 28 с добавками (вроде как), но Services.appinfo.platformVersion возвращает "3.2.2".
Должно помочь: https://github.com/Infocatcher/Custom_B … 8fd4068656
Проверял только на Pale Moon 27.4.0.

Board footer

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