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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№130-11-2020 08:20:08

lianaj
Участник
 
Группа: Members
Зарегистрирован: 10-06-2019
Сообщений: 5
UA: Firefox 72.0

"Ночной" режим firefox

есть скрипт x.uc.js

скрытый текст
(function() {

  function customNewTab () {

    var {spec} = gBrowser.currentURI;
    if (spec != "about:newtab" && spec != "about:home") return;

    var currentTime = new Date().getHours();

    if (currentTime > 18 || currentTime < 6) {
        var cssFix = "-webkit-filter: saturate(165%)";
    } else {
        var cssFix = "-webkit-filter: none";
    }

    document.querySelector('#navigator-toolbox').style.cssText = cssFix;
    //document.querySelector("body").style.cssText = cssFix; // не работает
    //window.document.getElementsByClassName("activity-stream")[0].style.cssText = cssFix; // не работает

  }
  gBrowser.tabContainer.addEventListener("TabOpen", customNewTab, false);

}());

он должен менять цвета интерфейса по времени  .но скрипт просто не видит элементы новой вкладки( как я понял он видит только сам интерфейс браузера без доступа к содержимому страницы). подскажите как получить содержимое страницы ?
в общем нашел такой вариант

Выделить код

Код:

setTimeout(function() {
          gBrowser.selectedBrowser.style.cssText = cssFix;
      }, 1000);

однако получается проблема в том что теперь изменения применяются только к 2й новой вкладке:sick: подскажите кто знает как пофиксить ?

Отредактировано lianaj (30-11-2020 20:51:25)

Отсутствует

 

№230-11-2020 23:48:39

lianaj
Участник
 
Группа: Members
Зарегистрирован: 10-06-2019
Сообщений: 5
UA: Firefox 72.0

Re: "Ночной" режим firefox

в общем потратив более 10 часов на то чтобы не много разобраться в js таки получилось

скрытый текст
// ==UserScript==
// @name                 Custom New Tab
// @version              1.0
// @description          Load a custom link or local file, instead of the default new tab page (about:newtab).
// @author               https://www.reddit.com/user/Luke-Baker/
// @license              https://creativecommons.org/licenses/by-sa/4.0/
// @compatibility        Created 2018-01-15. Tested on Firefox 71.
// ==/UserScript==

// For Firefox 72 onward, see the autoconfig alternative to this:
// https://support.mozilla.org/questions/1251199#answer-1199709

(function() {
    function customNewTab () {
        setTimeout(function() {
            var {spec} = gBrowser.currentURI;
            if (spec != "about:newtab") return;
            //alert(spec);
            var currentTime = new Date().getHours();
            if (currentTime > 18 || currentTime < 6) {
                var cssFix = "-webkit-filter: hue-rotate(180deg) saturate(165%)";
            } else {
                var cssFix = "-webkit-filter: none";
            }
            document.querySelector('#navigator-toolbox').style.cssText = cssFix;
            //gBrowser.selectedBrowser.style.cssText = cssFix;
            //gBrowser.selectedBrowser.getElementsByClassName('activity-stream')[0].style.cssText = cssFix;
       
            var code = `
                 //var result = content.document.getElementsByClassName('activity-stream');
                //content.alert(
                //   result + "\\n\\nLength: " + result.length
                //);
                //content.alert(content);
                content.document.getElementsByClassName('activity-stream')[0].style.cssText = "-webkit-filter: hue-rotate(180deg) saturate(165%)";
            `;
            var url = "data:," + encodeURIComponent(code);
            gBrowser.selectedBrowser.messageManager.loadFrameScript(url, false);   

            return;
        }, 15);
    return;
    }
gBrowser.tabContainer.addEventListener("TabOpen", customNewTab, false);
}());

Отредактировано lianaj (01-12-2020 00:03:28)

Отсутствует

 

Board footer

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