Dumby крутяк, дарю благо. Ранее этот топик был мною опробован, но почему-то всегда пытался получить (а не установить) заголовок, который на испытуемом сайте никогда сам не устанавливался. Теперь все ок.
Dumby возможно ли через скрипт получить полномочия аддонов webRequestBlocking для окучивания заголовка Content-Disposition?
Dumby, убегает запятая, в стилях перечерк, что делать - я не знаю, может вы просветите чуток?
Оба контроля учетных записей отключены
В этом случае перетаскивание будет пахать, если отключить "browser.launcherProcess.enabled"
Подскажите, плиз, какой теперь код в 134-й нужен для изменения цвета верхней панели с вкладками?
.browser-toolbox-background { --toolbox-bgcolor: #393e65; --toolbox-textcolor: #fff; }
Для светлой темы (не системной) можно так
:root[lwtheme] .browser-toolbox-background { @media not (prefers-color-scheme: dark) { --toolbox-bgcolor: #393e65; --toolbox-textcolor: #fff; } }
Saenko
@-moz-document url("about:addons"), url("chrome://mozapps/content/extensions/aboutaddons.html") { #content { --page-main-content-width: 1520px; } }
nbghost, а если два раза нажать Ctrl+Shift+B ? Потестить еще на чистом профиле
То есть, если это XUL элемент, то берётся атрибут "tooltiptext".
Иначе, если это не SVG элемент, то берётся атрибут "title".
Ок, теперь ясно
Возвращаясь к скрытым вкладкам, обнаружил траблу.
Для короткоживущих (например, при открытии исх кода в новом окне) код работает как мне надо, т.е. не выводит алерт, однако это происходит за счет ошибки в консоли
"record.target.linkedBrowser is null"
Для исправления немного переделал код и вроде теперь все ок
var notify = records => alert('"true" hidden attribute on tab(s) detected.\n\n' + records.map(info).join("\n\n"));
var notify = records => { for (let mutation of records) { if (mutation.target.collapsed) return; } alert('"true" hidden attribute on tab(s) detected.\n\n' + records.map(info).join("\n\n")); }
Это было просто информационное сообщение.
Оно может быть понятным, или не понятным
Мне не понятно, почему один и тот же атрибут на элементе button ведет себя по разному.
для одной кнопки атрибут title связан с подсказкой, а tooltiptext не пашет
для другой кнопки атрибут tooltiptext связан с подсказкой, а title - с названием
Может зависит от типа родительского элемента?
Испортим то, что делает файл
Да, теперь вижу зависимость от файла. "Хорошо" сломало тултипы с пониженными правами
Про placeholder, благодарю за оба варианта. Потестирую и если что не так - отпишусь.
resource://gre/modules/TooltipTextProvider.sys.mjs
твой "title" подхватит, и в #aHTMLTooltip'е будет показан.
да и без файла подхватывает, а отображение в aHTMLTooltip не особо нужно
Кому бы понадобилось вешать листенер именно на html#main-window
Да часто лопушусь из-за названия main-window и считаю, что в нем прослушки на window
Я вот тута подумал, а можно ведь версию сабжа отображать вместо дефолтного placeholder с никому не нужной "Search or enter address".
Но реализация у меня костыльная. Здеся можно стилями изменить название, а если замутить
content: attr(ffversion);
а затем через обсервер в config.js
let str = Services.appinfo.name + " " + Services.appinfo.platformVersion + " " + Services.appinfo.defaultUpdateChannel;
doc.getElementById("urlbar-input").parentNode?.setAttribute("ffversion", str);
то получим то, что хотели
…Nerazzurro browser.startup.blankWindow = true + системная тема. Если не системная, то у меня тоже есть полоса в 133
Nerazzurro после подложки - значит browser.startup.blankWindow
Dumby, спасибо, подправил у себя + проверка на окно, чтобы консоль не пищала на AppConstants.
Возвращаясь к этому, не хватает подсказки при наведении мыши на кнопку - многострочную. Придумал так
btn.setAttribute("title", "1\tFirst line\n2\tSecond line");
Не знаю, как по другому еще можно и нужно ли
Не в тему, но отсутствие ответа на вопрос не дает мне норм спать по ночам. Можно ли как-то посмотреть прослушки на #main-window? В инспекторе есть кнопка event, но при ее нажатии ошибка в консоли
Error while calling actor 'domnode's method 'getEventListenerInfo' passing non-debuggable global to addDebuggee
tagnupip, предполагаю, что у тебя в userContent.css закралась ошибка. Могу глянуть
tagnupip, а внешний вид дилов стилизован через какое-то расширение?
tagnupip сравнил пухлые стримы 133 и 134. Тени меняют на контуры. Еще такое ощущение, что там в штате целая команда css филов, раз такая куча модификаций
Выбирай один из двух
@-moz-document url("about:newtab"), url("about:home") { .outer-wrapper .ds-top-sites .top-sites .top-site-outer { --focus-outline: var(--focus-outline-width) solid transparent; } }
@-moz-document url("about:newtab"), url("about:home") { .outer-wrapper .ds-top-sites .top-sites .top-site-outer .top-site-inner > a:is(.active, :focus) .tile { outline: none !important; } }
tagnupip попробуй начать с outer и при необходимости нырнуть глубже в dom или подняться до корня, но тогда уже потребуется !important. FF134 не смотрел
@-moz-document url("about:newtab"), url("about:home") { .outer-wrapper .ds-top-sites .top-sites .top-site-outer { --newtab-primary-action-background: transparent; --newtab-primary-action-background-dimmed: var(--newtab-primary-action-background); } }
Dumby, намудрил так, а как бы вы сделали?
(async () => { var elem = document.createElement('label'); var lbl = parseInt(Services.appinfo.version); elem.innerHTML = lbl; elem.style.cssText = ` padding-block: 1px; font-size: 13px; color: gray; `; gURLBar._inputContainer.append(elem); })();
Я помотрел в 134, и preventClickEvent() используется только в gre omni,
и только в двух местах, и оба связаны с автоскроллером
Сколько не тестил, ни разу эта функция не вызывалась из AutoScrollChild.sys.mjs, а из browser-custom-element.js вызывается всегда. Смог заткнуть пасть через обсервер + удаление оконных прослушек на mouseup и mousedown с последующим закрытием попапа, но часто этот autoscroll глючит (в сочетании зажатой средней кнопки и небольшого сдвига), выскакивает предупреждение с последующим сбросом моих действий, так что забил.
Вот, допустим, попробуем вызов автоскроллера по Alt+ЛКМ
Да, спасибо. Крутой способ встраивания в контентский процесс и подсовывания юзер прослушки с имитацией нажатия средней кнопки мыши в handle(). Даже через скрипт работает, а не только из консоли.
Тогда можно попробовать заменить click на mousedown
А если бы не получилось, в том числе и через mouseup, то какие есть альтернативы? Не факт, что нативную функцию preventClickEvent() ваяли только для авто скролла и с каким-то странным пояснением;
"The following mouse click/auxclick event on the autoscroller shouldn't be fired in web content for compatibility with Chrome".
Пробовал нивелировать через stopPropagation() - работает, но тогда и авто скролл не появляется, а как его самому запустить - не знаю
Dumby средства этого целевого кейса позволяют нам скрыть вкладку без отображения ее по кнопке список всех вкладок, что совсем не радует. Хорошо хоть в инспекторе видно, что скрыта
Dumby потестировал ваш код на паре случаев, когда сам брауз скрывает вкладки:
1 открытие исходного кода страницы в новом окне
2 кнопка Firefox View
Напрашивается не исключение для about:blank, а задержка с правильно подобранным значением для alert, чтобы видеть актуальное, а не переходное состояние label и url для hidden tabs.
Правильно ли я все сделал?
[spoiler][code](url => {
if (location != url) return;
var adr = record => record.target.linkedBrowser.currentURI.spec;
var labelify = record => record.target.label;
var tabAndHidden = record => record.target.matches("tab.tabbrowser-tab[hidden=true]");
(new MutationObserver(mutations => {
var hiddenTabsRecords = mutations.filter(tabAndHidden);
hiddenTabsRecords.length && setTimeout(() => {
alert(
'"true" hidden attribute on tab(s) detected.\n\n'
+ hiddenTabsRecords.map(labelify).join("\n")
+ '\n\n' + hiddenTabsRecords.map(adr)
);
}, 155);
}))
.observe(
gBrowser.selectedTab.parentNode,
{subt
Dumby спасибо, то что нужно. Добавил вывод url вкладки и стало вообще зашибись