Состоялся релиз web-браузера Firefox 59, а также мобильной версии Firefox 59 для платформы Android. В ближайшие часы ожидается обновление ветки с длительным сроком поддержки 52.7.0. В ближайшее время на стадию бета-тестирования перейдёт ветка Firefox 60 (ESR), релиз которой намечен на 9 мая.
Основные новшества:
Кроме новшеств и исправления ошибок в Firefox 59 закрыты 18 уведомлений об уязвимостях. В двух уведомлениях, охватывающих 21 ошибку (под CVE-2018-5126 сведено 19 ошибок и под CVE-2018-5125 сведено 12 ошибок) устранены критические проблемы, которые потенциально могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц.
Загрузить:
Русская версия:
Windows (32-bit) (установка через Интернет)
Windows (32-bit) (установка в автономном режиме)
Windows (64-bit) (установка в автономном режиме)
Mac OS X (32-bit/64-bit)
Linux (32-bit)
Linux (64-bit)
Английская версия:
Windows (32-bit) (установка через Интернет)
Windows (32-bit) (установка в автономном режиме)
Windows (64-bit) (установка в автономном режиме)
Mac OS X (32-bit/64-bit)
Linux (32-bit)
Linux (64-bit)
Другие языки
Android (с Google Play)
Android (ARMv7, 4.1 Jelly Bean и выше) (мультиязычная версия с сайта Mozilla)
Android (x86, 4.1 Jelly Bean и выше) (мультиязычная версия с сайта Mozilla)
Android (ARMv7, 4.1 Jelly Bean и выше) (английская версия с сайта Mozilla)
Android (x86, 4.1 Jelly Bean и выше) (английская версия с сайта Mozilla)
Что нового в Firefox 59 для разработчиков
Примечания к выпуску для Windows, Mac and Linux
Примечания к выпуску для Android
Do you feel lucky, punk?
Отсутствует
Coroner
Они вроде и не мешают ни производительности, ни чему - если не пользоваться ими..)
Единственное могут иметь психологический эффект раздражения присутствием. Что то вроде - есть куча всего мне не нужного, значит тормозит браузер. Этакое нарушение эстетичности со стороны разработчиков по отношению ко мне любимому.
Да и., что то я не пойму, куда от мобильной версии четверть веса приложения откусили.
Отсутствует
Единственное могут иметь психологический эффект раздражения присутствием. Что то вроде - есть куча всего мне не нужного, значит тормозит браузер.
Не знаю. Но когда люди от Симанки все куски отгрызают — они утверждают что всё работает быстрее и памяти меньше кушает.
Насчёт производительности и прочего — писали что и на Firefox это отгрызание действует положительно, сам не пробовал, как там и чего отгрызали — на совести авторов сборок. Даже не знаю возможно ли это вообще.
Не то что раздражает, просто когда видишь изменения в давно ожидаемой версии браузера, который по сути ещё недоделанный, а там значительные изменения лишь в инструментах разработки — невольно задумываешься: чего они там делают? Например может взяться и API WebExtensions домучать, или писатели дополнений так и будут по одной функции раз в два месяца получать?
Да и., что то я не пойму, куда от мобильной версии четверть веса приложения откусили.
Задумались об оптимизации, может быть? Или кто-то случайно нашёл огромную кучу мусора.
Или что-то забыли.
На форуме
TabMixPlus окончательно перестал работать. По крайней мере, не вызывается окно настроек, и не закрываются вкладки по клику на крестике. Откатился на 58.0.2 и запретил обновления.
Отсутствует
Всё стало на английском (русский языковый пакет установлен) в арчлинукс. Проблема арча или у кого ещё то же самое?
Сам отвечаю) Все языковые пакеты в репозитории помечены устаревшими. Значит чего-то нашли..
Отредактировано grassine (14-03-2018 08:32:09)
Отсутствует
Видимо, нужно на чистую переустановить?
А много ли дополнений установлено? 570мб это многовато.
Надо попробовать чистый профиль и посмотреть сколько сожрёт. Прикинуть на глаз — есть ли разница с 58.
На форуме
После обновления Firefox с версии 58.2 до 59
У меня нормально не отображаются страницы любого поисковика (и любая веб страница)
вписанного как домашняя страница.
Все они выводяться на экран в виде фрагментов текста и изображения
а текст-ссылка отображается когда на нее наводится курсор мышки.
Если вписать их адрес в новой вкладке все отображается нормально
закладки так же отображаются нормально
Отсутствует
Размер шрифта увеличился в about:addons:
скрытый текст
Банда идиотов Я только позавчера её настроил (держу новую версию, кастомизирую, ищу экстеншены, так-то на 52й ) Ну, ниче.. Пару строк в юзерхроме изменил..
Отсутствует
После обновления Firefox с версии 58.2 до 59 У меня нормально не отображаются страницы любого поисковика (и любая веб страница)вписанного как домашняя страница. Все они выводяться на экран в виде фрагментов текста и изображенияа текст-ссылка отображается когда на нее наводится курсор мышки.Если вписать их адрес в новой вкладке все отображается нормальнозакладки так же отображаются нормально
Такая же проблема. Не нашла как её решить. Откатилась до 58.2 версии, стало всё нормально. Запретила автоматическое обновление.
Отредактировано Irishka (15-03-2018 00:53:06)
Отсутствует
Foma
Irishka
Данная проблема возникла у меня в ноябре 2017, когда 59 версия была еще Nightly (подробнее в теме Тестирование нестабильных сборок Firefox (Nightly))
Оказалось, она затронула тех, у кого отключен ClearType в системе. Второй вариант "решения" - отключить аппаратное ускорение.
Отсутствует
FomaIrishkaДанная проблема возникла у меня в ноябре 2017, когда 59 версия была еще Nightly (подробнее в теме Тестирование нестабильных сборок Firefox (Nightly))Оказалось, она затронула тех, у кого отключен ClearType в системе. Второй вариант "решения" - отключить аппаратное ускорение.
И правда, у меня ClearType отключён т.к. мой Windows 7 работает в режиме наивысшего быстродействия, а в этом режиме ClearType отключается автоматически.
Спасибо
Отредактировано Irishka (15-03-2018 03:09:08)
Отсутствует
dreamkz пишет: Видимо, нужно на чистую переустановить?А много ли дополнений установлено? 570мб это многовато.Надо попробовать чистый профиль и посмотреть сколько сожрёт. Прикинуть на глаз — есть ли разница с 58.
Всего пять штук было. Из них три выключено и включаются только по мере надобности. Поставил новый профиль. Понаблюдаю
Отсутствует
Всего пять штук было. Из них три выключено и включаются только по мере надобности. Поставил новый профиль. Понаблюдаю
Я у себя разницы не вижу. Но у меня один процесс лишь, возможно что какие-то изменения меня и вовсе прошли стороной.
Единственное это неработоспособность некоторых кнопок CB (видимо из-за "data:text/css", "data:uri").
Пару строк в юзерхроме изменил..
Не подскажете эту пару строк?
На форуме
Foma
IrishkaДанная проблема возникла у меня в ноябре 2017, когда 59 версия была еще Nightly (подробнее в теме Тестирование нестабильных сборок Firefox (Nightly))
Оказалось, она затронула тех, у кого отключен ClearType в системе. Второй вариант "решения" - отключить аппаратное ускорение.
Спасибо включил ClearType все работает, а ведь началось и на Firefox 58.2
редко но слетали иные страници.
Отсутствует
Народ, чего делать-то? Если на 58 старые расширения еще как-то работали, то на 59 вообще мрак. А на 60 видимо все кончится.
ТМР еще можно стилями как-то отработать. А СВ? Я к кнопкам привык.
Можно, конечно, на 58 посидеть годик, но это изначально тупиковый путь.
Кнопки это ведь скрипты в основном. Можно ли их как-то через greasemonkey / tampermonkey подключить?
Многие кнопки работают "в фоне" (Autocopy или Context Search, например), т.е. не требуют нажатия.
Можно ли такие кнопки конвертировать или через js+css как-то замутить?
В "Дополнительной панели" от Vitaliy V. кнопки работают же без СВ.
Отсутствует
Не подскажете эту пару строк?
Вот весь мой кусок про about:addons (последний кусочек, про версию, тупо украден у Ариса (ссылка есть), как её (версию) сейчас вытянуть не нашёл. Она появляется только в тултипе при наведении на аддонс штатно, ну и хранится только для этого аддонса. JS надо ваять. И, пардон, это юзерконтент, конечно.
/* Compact add-ons list */ @-moz-document url(chrome://mozapps/content/extensions/extensions.xul), url(about:addons) { .main-content { padding-bottom: 0px !important; padding-left: 0px !important; font-size: 12px !important; } #headered-views-content > #updates-view > #updates-list > scrollbox, #headered-views-content > #list-view > #addon-list > scrollbox { padding-left: 0px !important; padding-right: 0px !important; } #updates-list,#addon-list { border-top: 2px solid menu !important; } #categories { max-width: 70px !important; } #categories >.category { margin-left: 0px !important;margin-right: 0px !important; } #categories, #categories > .category, #categories > .category[selected=true], #updates-list .addon-view[selected=true], #list-view .addon-view[selected=true] { background-color: menu !important; } #updates-list .addon-view, #list-view .addon-view, #categories > .category { border-left: 0px !important; padding-left: 11px !important; } #addons-page .category-name, #updates-list .addon-view .warning, #list-view .addon-view .warning, #updates-list .description-outer-container, #list-view .description-outer-container { display: none !important; } #updates-list .addon-view[notification=warning], #list-view .addon-view[notification=warning] { background-color: #fffff0 !important; } #updates-list .addon-view *, #list-view .addon-view * { -moz-box-orient: horizontal !important; -moz-box-align: center !important; vertical-align: middle !important; margin-top: 0 !important; margin-bottom: 0 !important; margin-right: 0 !important; white-space: nowrap !important; } #updates-list .addon-view .date-updated { color: green; } #updates-view>.view-header { border-bottom-width: 0px !important; } #updates-list .content-container, #list-view :-moz-any(.error, .pending, .warning) { margin-left: 11px !important; } #updates-list .content-container, #list-view :-moz-any(.error, .pending, .warning) > label { margin-left: 10px !important; } #updates-list .name-container *, #list-view .name-container * { font-size: 14px !important; } #updates-list .advancedinfo-container, #list-view .advancedinfo-container { -moz-box-pack: end !important; margin-left: 10px !important; } #addons-page .category { margin-right: 10px !important; } #updates-list .icon, #list-view .icon, #updates-list .icon-container #list-view .icon-container { width: 24px !important; height: 24px !important; } #list-view:-moz-any([type]) .addon:first-child {counter-reset: enabled; counter-reset: disabled;} #list-view:-moz-any([type]) .addon[active="true"] {counter-increment: enabled;} #list-view:-moz-any([type]) .addon[active="false"] {counter-increment: disabled;} #list-view:-moz-any([type]) #addon-list::after { content: counter(enabled)" enabled, "counter(disabled)" disabled"; background-color: #e0e0ff; padding-left: 10px; padding-right: 10px; padding-top: 1px; padding-bottom: 1px; position: fixed; font-weight: bold; top: 35px; margin-left: 10px; font-size: 110%; } .addon[selected="true"]::after { content: attr(value); position: fixed; top: 55px; margin-left: -5px; } } /* Firefox 57+ userChrome.css tweaks ****************************************************/ /* code mostly taken from 'Classic Theme Restorer' & 'Classic Toolbar Buttons' add-ons **/ /* by Aris (aris-addons@gmx.net)*********************************************************/ /* Github: https://github.com/aris-t2/customcssforfx ************************************/ /****************************************************************************************/ /* Add-on version */ @-moz-document url-prefix(chrome://mozapps/content/extensions/extensions.xul), url-prefix(about:addons) { /* addonversion.xml contains a copy of the 'addon-generic' binding Mozilla removed from Fx40+ builds! */ .addon:not([pending="uninstall"])[status="installed"] { -moz-binding: url("./myAddOn57.xml#addon-generic") !important; } .addon:not([pending="uninstall"])[status="installing"] .name-container .version, .addon:not([pending="uninstall"])[status="installed"] .name-container .version { visibility: visible !important; } .addon:not([pending="uninstall"])[status="installing"] { -moz-binding: url("./myAddOn57.xml#addon-installing"); } }
И правда, у меня ClearType отключён т.к. мой Windows 7 работает в режиме наивысшего быстродействия, а в этом режиме ClearType отключается автоматически
За N лет пользования им (считая XP), считаю, что без него - издевательство над глазами...
ТМР еще можно стилями как-то отработать.
Я ещё не видел ни одного стиля multirow, который был бы безглючен. Проверка номер один - перенести мышью таб на более высокую строку.
Отредактировано f00fc7c8 (15-03-2018 19:11:38)
Отсутствует
f00fc7c8, благодарю.
Про стиль Ариса — я тоже никак XML подцепить не могу, как не менял адрес в -moz-binding: url("./myAddOn57.xml#addon-generic"), да и сам файл куда только не совал.
Более старое решение (https://forum.mozilla-russia.org/viewto … 51#p748251) тоже не работает.
Но версию хоть при наведении видно — и ладно.
P. S. Странная забота о безопасности пользователей — прятать номера версий. Давайте уж тогда и урл прятать, нечего пользователей пугать закорючками, название сайта туда выводить надо. И красивше будет.
На форуме
Более старое решение (https://forum.mozilla-russia.org/viewto … 51#p748251) тоже не работает.
Хм, у меня в 60 версии работает (как работало и в 57-59). Как вариант, возможно у вас не закрыты где-нибудь кавычки например. Попробуйте разместить этот код в самом начале userContent.css. Или сделайте для проверки чистый файл только с этим кодом и кодировкой utf-8.
Отсутствует
Или сделайте для проверки чистый файл только с этим кодом и кодировкой utf-8.
Пересохранил в utf-8 (почему то 1251 было, хотя вроде следил за этим).
Всё равно никак. Все стили повыключал. Если только предположить что из-за дополнений или костыля для проверки цифровых подписей?
Вам верю, поэтому на новом профиле пробовать не буду, попробую с действующим разобраться.
На форуме
Про стиль Ариса — я тоже никак XML подцепить не могу, как не менял адрес в -moz-binding: url("./myAddOn57.xml#addon-generic"), да и сам файл куда только не совал.
Я его переименовал
<?xml version="1.0"?> <!DOCTYPE page [ <!ENTITY % extensionsDTD SYSTEM "chrome://mozapps/locale/extensions/extensions.dtd"> %extensionsDTD; ]> <!-- import-globals-from extensions.js --> <bindings id="addonBindings" xmlns="http://www.mozilla.org/xbl" xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" xmlns:xbl="http://www.mozilla.org/xbl"> <!-- Addon - generic - A normal addon item, or an update to one --> <binding id="addon-generic" extends="chrome://mozapps/content/extensions/extensions.xml#addon-generic"> <content> <xul:hbox anonid="warning-container" class="warning"> <xul:image class="warning-icon"/> <xul:label anonid="warning" flex="1"/> <xul:label anonid="warning-link" class="text-link"/> <xul:button anonid="warning-btn" class="button-link" hidden="true"/> <xul:spacer flex="5000"/> <!-- Necessary to allow the message to wrap --> </xul:hbox> <xul:hbox anonid="error-container" class="error"> <xul:image class="error-icon"/> <xul:label anonid="error" flex="1"/> <xul:label anonid="error-link" class="text-link" hidden="true"/> <xul:spacer flex="5000"/> <!-- Necessary to allow the message to wrap --> </xul:hbox> <xul:hbox anonid="pending-container" class="pending"> <xul:image class="pending-icon"/> <xul:label anonid="pending" flex="1"/> <xul:button anonid="restart-btn" class="button-link" label="&addon.restartNow.label;" oncommand="document.getBindingParent(this).restart();"/> <xul:button anonid="undo-btn" class="button-link" label="&addon.undoAction.label;" tooltipText="&addon.undoAction.tooltip;" oncommand="document.getBindingParent(this).undo();"/> <xul:spacer flex="5000"/> <!-- Necessary to allow the message to wrap --> </xul:hbox> <xul:hbox class="content-container" align="center"> <xul:vbox class="icon-container"> <xul:image anonid="icon" class="icon"/> </xul:vbox> <xul:vbox class="content-inner-container" flex="1"> <xul:hbox class="basicinfo-container"> <xul:hbox class="name-container"> <xul:label anonid="name" class="name" crop="end" flex="1" tooltip="addonitem-tooltip" xbl:inherits="value=name"/> <xul:label anonid="version" class="version"/> <xul:label anonid="legacy" class="legacy-warning text-link" value="&addon.legacy.label;"/> <xul:label class="disabled-postfix" value="&addon.disabled.postfix;"/> <xul:label class="update-postfix" value="&addon.update.postfix;"/> <xul:spacer flex="5000"/> <!-- Necessary to make the name crop --> </xul:hbox> <xul:label anonid="date-updated" class="date-updated" unknown="&addon.unknownDate;"/> </xul:hbox> <xul:hbox class="experiment-container"> <svg width="6" height="6" viewBox="0 0 6 6" version="1.1" xmlns="http://www.w3.org/2000/svg" class="experiment-bullet-container"> <circle cx="3" cy="3" r="3" class="experiment-bullet"/> </svg> <xul:label anonid="experiment-state" class="experiment-state"/> <xul:label anonid="experiment-time" class="experiment-time"/> </xul:hbox> <xul:hbox class="advancedinfo-container" flex="1"> <xul:vbox class="description-outer-container" flex="1"> <xul:hbox class="description-container"> <xul:label anonid="description" class="description" crop="end" flex="1"/> <xul:button anonid="details-btn" class="details button-link" label="&addon.details.label;" tooltiptext="&addon.details.tooltip;" oncommand="document.getBindingParent(this).showInDetailView();"/> <xul:spacer flex="5000"/> <!-- Necessary to make the description crop --> </xul:hbox> <xul:vbox anonid="relnotes-container" class="relnotes-container"> <xul:label class="relnotes-header" value="&addon.releaseNotes.label;"/> <xul:label anonid="relnotes-loading" value="&addon.loadingReleaseNotes.label;"/> <xul:label anonid="relnotes-error" hidden="true" value="&addon.errorLoadingReleaseNotes.label;"/> <xul:vbox anonid="relnotes" class="relnotes"/> </xul:vbox> <xul:hbox class="relnotes-toggle-container"> <xul:button anonid="relnotes-toggle-btn" class="relnotes-toggle" hidden="true" label="&cmd.showReleaseNotes.label;" tooltiptext="&cmd.showReleaseNotes.tooltip;" showlabel="&cmd.showReleaseNotes.label;" showtooltip="&cmd.showReleaseNotes.tooltip;" hidelabel="&cmd.hideReleaseNotes.label;" hidetooltip="&cmd.hideReleaseNotes.tooltip;" oncommand="document.getBindingParent(this).toggleReleaseNotes();"/> </xul:hbox> </xul:vbox> </xul:hbox> </xul:vbox> <xul:vbox class="status-control-wrapper"> <xul:hbox class="status-container"> <xul:hbox anonid="checking-update" hidden="true"> <xul:image class="spinner"/> <xul:label value="&addon.checkingForUpdates.label;"/> </xul:hbox> <xul:vbox anonid="update-available" class="update-available" hidden="true"> <xul:checkbox anonid="include-update" class="include-update" label="&addon.includeUpdate.label;" checked="true" oncommand="document.getBindingParent(this).onIncludeUpdateChanged();"/> <xul:hbox class="update-info-container"> <xul:label class="update-available-notice" value="&addon.updateAvailable.label;"/> <xul:button anonid="update-btn" class="addon-control update" label="&addon.updateNow.label;" tooltiptext="&addon.updateNow.tooltip;" oncommand="document.getBindingParent(this).upgrade();"/> </xul:hbox> </xul:vbox> <xul:hbox anonid="install-status" class="install-status" hidden="true"/> </xul:hbox> <xul:hbox anonid="control-container" class="control-container"> <xul:button anonid="preferences-btn" class="addon-control preferences" label="&cmd.showPreferencesWin.label;" tooltiptext="&cmd.showPreferencesWin.tooltip;" oncommand="document.getBindingParent(this).showPreferences();"/> <xul:button anonid="enable-btn" class="addon-control enable" label="&cmd.enableAddon.label;" oncommand="document.getBindingParent(this).userDisabled = false;"/> <xul:button anonid="disable-btn" class="addon-control disable" label="&cmd.disableAddon.label;" oncommand="document.getBindingParent(this).userDisabled = true;"/> <xul:button anonid="replacement-btn" class="addon-control replacement" label="&cmd.findReplacement.label;" oncommand="document.getBindingParent(this).findReplacement();"/> <xul:button anonid="remove-btn" class="addon-control remove" label="&cmd.uninstallAddon.label;" oncommand="document.getBindingParent(this).uninstall();"/> <xul:menulist anonid="state-menulist" class="addon-control state" tooltiptext="&cmd.stateMenu.tooltip;"> <xul:menupopup> <xul:menuitem anonid="ask-to-activate-menuitem" class="addon-control" label="&cmd.askToActivate.label;" tooltiptext="&cmd.askToActivate.tooltip;" oncommand="document.getBindingParent(this).userDisabled = AddonManager.STATE_ASK_TO_ACTIVATE;"/> <xul:menuitem anonid="always-activate-menuitem" class="addon-control" label="&cmd.alwaysActivate.label;" tooltiptext="&cmd.alwaysActivate.tooltip;" oncommand="document.getBindingParent(this).userDisabled = false;"/> <xul:menuitem anonid="never-activate-menuitem" class="addon-control" label="&cmd.neverActivate.label;" tooltiptext="&cmd.neverActivate.tooltip;" oncommand="document.getBindingParent(this).userDisabled = true;"/> </xul:menupopup> </xul:menulist> </xul:hbox> </xul:vbox> </xul:hbox> </content> <implementation> <field name="_version"> document.getAnonymousElementByAttribute(this, "anonid", "version"); </field> <method name="_initWithAddon"> <parameter name="aAddon"/> <body><![CDATA[ this.mAddon = aAddon; this._installStatus.mAddon = this.mAddon; this._updateDates(); this._updateState(); this.setAttribute("name", aAddon.name); var iconURL = AddonManager.getPreferredIconURL(aAddon, 48, window); if (iconURL) this._icon.src = iconURL; else this._icon.src = ""; if (shouldShowVersionNumber(this.mAddon)) this._version.value = this.mAddon.version; else this._version.hidden = true; if (this.mAddon.description) this._description.value = this.mAddon.description; else this._description.hidden = true; let legacyWarning = legacyExtensionsEnabled && !this.mAddon.install && isLegacyExtension(this.mAddon); this.setAttribute("legacy", legacyWarning); document.getAnonymousElementByAttribute(this, "anonid", "legacy").href = SUPPORT_URL + "webextensions"; if (!("applyBackgroundUpdates" in this.mAddon) || (this.mAddon.applyBackgroundUpdates == AddonManager.AUTOUPDATE_DISABLE || (this.mAddon.applyBackgroundUpdates == AddonManager.AUTOUPDATE_DEFAULT && !AddonManager.autoUpdateDefault))) { AddonManager.getAllInstalls(aInstallsList => { // This can return after the binding has been destroyed, // so try to detect that and return early if (!("onNewInstall" in this)) return; for (let install of aInstallsList) { if (install.existingAddon && install.existingAddon.id == this.mAddon.id && install.state == AddonManager.STATE_AVAILABLE) { this.onNewInstall(install); this.onIncludeUpdateChanged(); } } }); } ]]></body> </method> <method name="onNewInstall"> <parameter name="aInstall"/> <body><![CDATA[ if (this.mAddon.applyBackgroundUpdates == AddonManager.AUTOUPDATE_ENABLE) return; if (this.mAddon.applyBackgroundUpdates == AddonManager.AUTOUPDATE_DEFAULT && AddonManager.autoUpdateDefault) return; this.mManualUpdate = aInstall; this._showStatus("update-available"); this._updateUpgradeInfo(); ]]></body> </method> <method name="_updateUpgradeInfo"> <body><![CDATA[ // Only update the version string if we're displaying the upgrade info if (this.hasAttribute("upgrade") && shouldShowVersionNumber(this.mAddon)) this._version.value = this.mManualUpdate.version; ]]></body> </method> </implementation> </binding> <!-- Addon - installing - an addon item that is currently being installed --> <binding id="addon-installing" extends="chrome://mozapps/content/extensions/extensions.xml#addon-installing"> <content> <xul:hbox anonid="warning-container" class="warning"> <xul:image class="warning-icon"/> <xul:label anonid="warning" flex="1"/> <xul:button anonid="warning-link" class="button-link" oncommand="document.getBindingParent(this).retryInstall();"/> <xul:spacer flex="5000"/> <!-- Necessary to allow the message to wrap --> </xul:hbox> <xul:hbox class="content-container"> <xul:vbox class="icon-outer-container"> <xul:vbox class="icon-container"> <xul:image anonid="icon" class="icon"/> </xul:vbox> </xul:vbox> <xul:vbox class="fade name-outer-container" flex="1"> <xul:hbox class="name-container"> <xul:label anonid="name" class="name" crop="end" tooltip="addonitem-tooltip"/> <xul:label anonid="version" class="version" hidden="true"/> </xul:hbox> </xul:vbox> <xul:vbox class="install-status-container"> <xul:hbox anonid="install-status" class="install-status"/> </xul:vbox> </xul:hbox> </content> <implementation> <field name="_version"> document.getAnonymousElementByAttribute(this, "anonid", "version"); </field> <method name="refreshInfo"> <body><![CDATA[ this.mAddon = this.mAddon || this.mInstall.addon; if (this.mAddon) { this._icon.src = this.mAddon.iconURL || (this.mInstall ? this.mInstall.iconURL : ""); this._name.value = this.mAddon.name; if (this.mAddon.version) { this._version.value = this.mAddon.version; this._version.hidden = false; } else { this._version.hidden = true; } } else { this._icon.src = this.mInstall.iconURL; // AddonInstall.name isn't always available - fallback to filename if (this.mInstall.name) { this._name.value = this.mInstall.name; } else if (this.mInstall.sourceURI) { var url = Components.classes["@mozilla.org/network/standard-url-mutator;1"] .createInstance(Components.interfaces.nsIStandardURLMutator) .init(Components.interfaces.nsIStandardURL.URLTYPE_STANDARD, 80, this.mInstall.sourceURI.spec, null, null) .finalize() .QueryInterface(Components.interfaces.nsIURL); this._name.value = url.fileName; } if (this.mInstall.version) { this._version.value = this.mInstall.version; this._version.hidden = false; } else { this._version.hidden = true; } } if (this.mInstall.state == AddonManager.STATE_DOWNLOAD_FAILED) { this.setAttribute("notification", "warning"); this._warning.textContent = gStrings.ext.formatStringFromName( "notification.downloadError", [this._name.value], 1 ); this._warningLink.label = gStrings.ext.GetStringFromName("notification.downloadError.retry"); this._warningLink.tooltipText = gStrings.ext.GetStringFromName("notification.downloadError.retry.tooltip"); } else if (this.mInstall.state == AddonManager.STATE_INSTALL_FAILED) { this.setAttribute("notification", "warning"); this._warning.textContent = gStrings.ext.formatStringFromName( "notification.installError", [this._name.value], 1 ); this._warningLink.label = gStrings.ext.GetStringFromName("notification.installError.retry"); this._warningLink.tooltipText = gStrings.ext.GetStringFromName("notification.downloadError.retry.tooltip"); } else { this.removeAttribute("notification"); } ]]></body> </method> </implementation> </binding> </bindings>
прятать номера версий
Это уже давно. С 40х. Пока вытащить через яваскрипт не получается..
Пересохранил в utf-8 (почему то 1251 было, хотя вроде следил за этим).
У меня, за редким исключением, всё по-аглицки. УТФ8 - по боку.
Отредактировано f00fc7c8 (15-03-2018 23:46:44)
Отсутствует
Я его переименовал
Я на своём файле пробовал. Раньше ещё пытался.
У меня, за редким исключением, всё по-аглицки. УТФ8 - по боку.
Уже в привычку вошло. Но как оказалось — не до конца.
В основном тоже по-аглицки, да вот папка на панели закладок когда-то была с русским названием, а мне её подкрасить вздумалось.
А она toolbarbutton.bookmark-item[label="имя"]. С тех пор стараюсь UTF-8 сохранять.
На форуме
Я на своём файле пробовал. Раньше ещё пытался.
Ммм. И не выходит? У меня такое содержимое файла c:\Users\...\AppData\Roaming\Mozilla\Firefox\Profiles\...\chrome\myAddOn57.xml
Я просто подсократил Арисовские заморочки. Нужное оставил как my****
Отсутствует