Если ui.prefersReducedMotion отключен, то и атрибута нет
Если включен и атрибут зависим от анимации, то его тоже не будет, если открывать в фоне about:config и прочее подобное. При настройке browser.cache.check_doc_frequency = 2 вкладки будут открываться в зависимости от попадания в кеш, то есть атрибут то будет, то нет. В итоге решил остаться на гитхабовском unread в таком варианте (не для UCF)
(async (url) => { if (location != url) return; let func = { add(e) { e.target.setAttribute("unread", "true"); }, change(e) { e.target.setAttribute("unread", "false"); } }; gBrowser.tabContainer.addEventListener("TabOpen", func.add, !1); gBrowser.tabContainer.addEventListener("TabSelect", func.change, !1); })("chrome://browser/content/browser.xhtml");
Отредактировано 6e73epo (04-07-2024 16:00:17)
Отсутствует
Если включен и атрибут зависим от анимации, то его тоже не будет, если открывать в фоне about:config и прочее подобное. При настройке browser.cache.check_doc_frequency = 2 вкладки будут открываться в зависимости от попадания в кеш, то есть атрибут то будет, то нет
Это всё скорее плюсы чем минусы, зачем на всё подряд лепить unread атрибут...
(не для UCF)
А есть такой скрипт что не заработает в UCF ?
Отредактировано Vitaliy V. (04-07-2024 16:19:03)
Отсутствует
попробовал установить Dark Reader, с ним есть вспышка на этом форуме независимо от настройки ui.prefersReducedMotion
Нет, нету, если
@-moz-document url("about:blank") {
:root, body:empty {
background: rgb(40,42,50) !important;
}
}
6e73epo
Я выше давал вариант который в UCF работает. Первая ссылка скрипт, две вторых фрагменты стиля для скрипта.
Отредактировано _zt (04-07-2024 16:26:04)
Отсутствует
Отредактировано grom17 (04-07-2024 22:07:15)
Отсутствует
Это всё скорее плюсы чем минусы, зачем на всё подряд лепить unread атрибут...
Я уже потестировал "notselectedsinceload". Открывал в фоне подряд один и тот же сайт 20 раз и в двух случаях вкладки окрашивались, а в остальных нет. При browser.cache.check_doc_frequency = 1 все 20 окрасились, но меня постоянная проверка страницы на изменения не устраивает
А есть такой скрипт что не заработает в UCF ?
UCF скрипты часто приходится адаптировать для userChromeJS, а наоборот - не в курсе. Из скрипта удалил строку с удалением атрибута при закрытии вкладки, а также все
removeListener, потому что они и так удаляются, если правильно добавлены, а версия браузера не из прошлого века. А сам скрипт приводил больше для того, чтобы его поправили, если есть какие ошибки.
Отсутствует
Открывал в фоне подряд один и тот же сайт 20 раз и в двух случаях вкладки окрашивались, а в остальных нет.
Сомнительный результат у меня только раз не окрасилось, но не в этом дело а смысл помечать вкладки непрочитанными загруженные из кеша, это не логично,
атрибут notselectedsinceload добавляется только когда идет загрузка из сети, поэтому безусловно это плюс, но если хотите поспорить дело ваше.
UCF скрипты часто приходится адаптировать для userChromeJS, а наоборот - не в курсе
Ну я тоже особо не в курсе userChromeJS, потому как естественно считаю свой продукт лучше. Скажу так, все или c адаптацией скрипты userChromeJS могут работать в UCF, а наоборот даже адаптировать не все получится.
все
removeListener, потому что они и так удаляются
Типа полагаться на сборщик мусора, ну это такое себе
, !1);
А это что, укороченная запись false? При том что если не нужно делать перехват т.е. true, то false писать уже не требуется.
Отсутствует
Сомнительный результат у меня только раз не окрасилось, но не в этом дело а смысл помечать вкладки непрочитанными загруженные из кеша, это не логично,
атрибут notselectedsinceload добавляется только когда идет загрузка из сети, поэтому безусловно это плюс, но если хотите поспорить дело ваше.
Не сомнительный, если не соблюдать периодичность по времени. В остальном соглашусь и забываю про unread пока есть notselectedsinceload
Типа полагаться на сборщик мусора, ну это такое себе
Что-то я не то сморозил. События добавлены в gBrowser.tabContainer и спокойно в нем висят. Их хоть по 100 раз подряд вызывай, ошибок не будет, и в удалении нет необходимости при переключении на вкладку или ее закрытии.
А это что, укороченная запись false? При том что если не нужно делать перехват т.е. true, то false писать уже не требуется
Кто как привык. !1 или !0 всегда ставлю. Умолчального значения нет, точнее отсутствие будет трактоваться как неопределенный тип данных, что в итоге даст false. А true я называю не перехватом, а первый в очереди, ну если еще для страховки до уровня окна подняться.
Отсутствует
Умолчального значения нет
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
If not specified, useCapture defaults to false.
Отсутствует
Dumby здесь же не логический тип данных, а булевая объектная модель с функцией преобразования в логический тип. Есть начальное значение объекта, которое зависит от значения передаваемого параметра, а его отсутствие ничего не меняет. В свое время на этом и погорел, машинально поставив кавычки, и долго ломал голову откуда взялся capturing
...addEventListener("event", func, "false"); // "false" = true (не пустая строка)
атрибут notselectedsinceload добавляется только когда идет загрузка из сети, поэтому безусловно это плюс, но если хотите поспорить дело ваше
Хочу. В вашем скрипте (если не ошибаюсь), да и в моем тоже, атрибут notselectedsinceload добавляется всегда при переключении на вкладку, даже когда этого атрибута нет. Проверку желательно сделать на значение или на наличие
if (e.target.getAttribute("notselectedsinceload") === "true")
if (e.target.hasAttribute("notselectedsinceload"))
Отсутствует
В свое время на этом и погорел, машинально поставив кавычки, и долго ломал голову откуда взялся capturing
...addEventListener("event", func, "false"); // "false" = true (не пустая строка)
"false" == true (не пустая строка)
Описываемый тобой опыт, несомненно, интересен и поучителен,
но я же не об этом.
Вот запусти с консоли прямо так: addEventListener();
Какое число выдаст тебе консоль? Может восемь? Нет?
Ну вот, я, собственно, только об этом.
Добавлено 05-07-2024 22:09:30
"false" == true
Опаньки, с кода "false" == true; консоль выдала мне false
Это слегка неожиданно.
"false" == false; — тоже false
С кода if ("false") alert(); — алерт есть.
Отредактировано Dumby (05-07-2024 22:09:30)
Отсутствует
атрибут notselectedsinceload добавляется всегда при переключении на вкладку, даже когда этого атрибута нет. Проверку желательно сделать
Да можно сделать но это не обязательно, на анимацию браузера это не повлияет от слова совсем, а только для этого этот атрибут используется в , по соображениям оптимизации кода тоже, в одном случае лучше так в другом наоборот.
Опаньки, с кода "false" == true; консоль выдала мне false
Это слегка неожиданно.
Это же нестрогое равенство, сначала преобразуется так
Отредактировано Vitaliy V. (Вчера 00:24:17)
Отсутствует
Заметил что в последней "ночнушке" вспышек вообще нет. Стилей "тонну" подгружал, ну нет вспышек и всё.
И работает на мой взгляд шустрее и плавнее.
Да, действительно. Но дальше больше, с последним обновлением Stylus вспышки пропали и в DEV, причем даже на сайтах для которых в нем нет стилей.
В языковых файлах добавлены новые строки, значит какие то изменения по этому поводу были. Саму функцию "мгновенного ввода" не включал, но разница в загрузке страниц появилась.
Отредактировано _zt (Вчера 00:44:28)
Отсутствует