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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№97625-07-2019 18:16:37

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 626
UA: unknown 0.0

Re: Greasemonkey

Acid Crash пишет:

Есть сайт https://nichosee.com/
Можно ли сделать так, чтобы при открытии оного по умолчанию выбиралось "По дате релиза" (выбирается в выпадайке, которая справа сверху)

скрытый текст

Выделить код

Код:

// ==UserScript==
// @name        Acid Crash
// @namespace   CoolCmd
// @match       https://nichosee.com/
// @version     1
// @run-at      document-start
// @grant       none
// ==/UserScript==
'use strict';
/*
    // Выполнить ДО обработчика DOMContentLoaded страницы.
    window.shuffle.options.initialSort = {
        reverse: true,
        by: function(e) {
            return e.getAttribute('data-released');
        }
    };
*/
// Выполнить ПОСЛЕ обработчика DOMContentLoaded страницы.
window.addEventListener('DOMContentLoaded', () => {
    const s = document.getElementsByClassName('js-sort-options')[0];
    s.value = 'released';
    s.dispatchEvent(new Event('change', {bubbles: true}));
});


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

Добавлено 25-07-2019 18:35:26

leshiy_odessa пишет:

Накидайте хоть какой то код, а я методом перебора и собственных мозгов что-то да наваяю. Спасибо.

менять код "методом перебора" можно до конца жизни. нужен полный код js-файла.

Отредактировано CoolCmd (25-07-2019 18:35:26)


леса живет в лису?

Отсутствует

 

№97725-07-2019 19:53:44

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 267
UA: Firefox 68.0

Re: Greasemonkey

CoolCmd пишет:

менять код "методом перебора" можно до конца жизни. нужен полный код js-файла.

Нет проблем — https://pastebin.com/15dTMtjj

Или вот вся папка, но на мой дилетантский взгляд выбор языка только в — \javascript\proxmox-widget-toolkit\proxmoxlib.js

Отредактировано leshiy_odessa (25-07-2019 19:55:53)

Отсутствует

 

№97825-07-2019 21:01:32

Acid Crash
Участник
 
Группа: Members
Зарегистрирован: 03-11-2013
Сообщений: 290
UA: Firefox 68.0

Re: Greasemonkey

CoolCmd пишет:

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

Приветствую.
Прыгающие картинки действительно не так критично в данной ситуации.
Большое спасибо.

Отсутствует

 

№97930-07-2019 20:00:51

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 626
UA: unknown 0.0

Re: Greasemonkey

leshiy_odessa
непонятно как все это дело загружается и в каком фрейме. вот вариант решения в лоб. исправь @match на свой адрес. запускать нужно в tampermonkey, в greasemonkey режим @grant:none поломан.

Выделить код

Код:

// ==UserScript==
// @name        leshiy_odessa
// @namespace   CoolCmd
// @match       http://localhost:8080/*
// @version     1
// @run-at      document-start
// @grant       none
// ==/UserScript==
document.addEventListener('DOMContentLoaded', () => {
    'use strict';
    if (window.Proxmox && Proxmox.Utils) {
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }
}, true);

Отредактировано CoolCmd (30-07-2019 20:04:27)


леса живет в лису?

Отсутствует

 

№98030-07-2019 20:23:59

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 267
UA: Firefox 68.0

Re: Greasemonkey

CoolCmd
Нет, не сработало (Tampermonkey). Фрейма там нет, а есть слой из DIV.

Я в KeePass закостылил — {TAB}{TAB}{TAB}{DOWN}{END}{DELAY 1000}{TAB}{TAB}{TAB}{DOWN}{UP}{UP}{UP}{ENTER}{DELAY 1000}{USERNAME}{DELAY 500}{TAB}{PASSWORD}{ENTER}

То есть клавиатурой спускаемся в выбор языка, выбираем самый последний язык в списке(END), не Russian потому что он уже может стоять, потом происходит обновление окна, язык меняется и уже от последнего языка поднимается на Russian.

Может такой же костыль на скрипте? Хотя эта идея совсем ужасна, костыль-костылей.

Отредактировано leshiy_odessa (30-07-2019 20:24:50)

Отсутствует

 

№98131-07-2019 12:42:32

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 626
UA: unknown 0.0

Re: Greasemonkey

leshiy_odessa попробуй этот вариант и скопируй красный текст из консоли (F12).

Выделить код

Код:

// ==UserScript==
// @name        leshiy_odessa
// @namespace   CoolCmd
// @match       http://localhost:8080/*
// @version     2
// @run-at      document-start
// @grant       none
// ==/UserScript==
(() => {
    'use strict';
    console.error('!!!' + location.href);
    document.addEventListener('DOMContentLoaded', () => {
        console.error('!!!DOMContentLoaded');
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }, true);
    window.addEventListener('load', () => {
        console.error('!!!load');
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }, true);
})();

леса живет в лису?

Отсутствует

 

№98231-07-2019 17:05:09

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 267
UA: Firefox 68.0

Re: Greasemonkey

CoolCmd
Предыдущий код ➜ "Предупреждение" — unreachable code after return statement

Последний код "ошибки" 3 шт. :

скрытый текст

Выделить код

Код:


!!!https://10.1.3.101:8006/#v1:0:18:4:::::: userscript.html:19:13
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:19
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:46
    g eval:3
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:2
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:3
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:47
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:49
    g eval:3
    b eval:2
    E_u eval:3
    y eval line 1 > Function:65
    ja eval line 1 > Function:64
    create eval line 1 > Function:75
    e eval line 1 > Function:16
    run eval line 1 > Function:16
    anonymous eval line 1 > Function:77
    g eval:3
    b eval:2
    anonymous eval line 1 > Function:77
    anonymous eval line 1 > Function:77
    TM_back eval line 1 > Function:78
    anonymous eval line 1 > Function:78
    g eval:3
    exec_fn eval:1
    <анонимный> eval:11
    U eval:10
!!!DOMContentLoaded userscript.html:21:17
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:21
!!!load userscript.html:34:17
    <анонимный> moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43:34


Но там ссылки (moz-extension://), которые  ведут прямо в код. Я не знаю как это всё передать. Вот последние две ошибки, а в первой что-то совсем дофига копировать.

!!!DOMContentLoaded — 21 строка (➜ ➜ ➜ ➜ ➜).
скрытый текст

Выделить код

Код:

(() => {
    'use strict';
    console.error('!!!' + location.href);
    document.addEventListener('DOMContentLoaded', () => {
 ➜ ➜ ➜ ➜ ➜        console.error('!!!DOMContentLoaded');
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }, true);
    window.addEventListener('load', () => {
        console.error('!!!load');
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }, true);
})();
})}})(this.context, this.fapply, this.console);
//# sourceURL=moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43
}).apply(window["__u__10519422.550962139_"])


!!!load 34 строка — (➜ ➜ ➜ ➜ ➜)
скрытый текст

Выделить код

Код:

(() => {
    'use strict';
    console.error('!!!' + location.href);
    document.addEventListener('DOMContentLoaded', () => {
        console.error('!!!DOMContentLoaded');
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }, true);
    window.addEventListener('load', () => {
 ➜ ➜ ➜ ➜        console.error('!!!load');
        Proxmox.Utils.render_language = function(value) {
            if (!value) {
                return Proxmox.Utils.defaultText + ' (Russian)';
            }
            var text = Proxmox.Utils.language_map[value];
            if (text) {
                return text + ' (' + value + ')';
            }
            return value;
        };
    }, true);
})();
})}})(this.context, this.fapply, this.console);
//# sourceURL=moz-extension://b0952e0a-64f4-4314-9493-b29e11a353cd/userscript.html?id=f39fe801-c307-4861-b72b-76f7e35e1d43
}).apply(window["__u__14184145.207414657_"])

Отредактировано leshiy_odessa (31-07-2019 17:14:49)

Отсутствует

 

№98305-08-2019 17:39:40

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 626
UA: unknown 0.0

Re: Greasemonkey

leshiy_odessa
как я понял, (Russian) в списке нет?
нужно в отладчике смотреть, гадалки здесь бессильны. проще взять файл proxmoxlib.js и отредактировать его.


леса живет в лису?

Отсутствует

 

№98405-08-2019 19:36:23

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 267
UA: Firefox 68.0

Re: Greasemonkey

CoolCmd пишет:

как я понял, (Russian) в списке нет?

В каком списке? Списке ошибок или в списке выбора языка?

CoolCmd пишет:

проще взять файл proxmoxlib.js и отредактировать его

Я так и делал, но он потом возвращается взад. То из-за обновления, то ли из-за того что сам себя проверяет. Скорее первое.

update Только что преверил, замена в proxmoxlib.js не работает.

return Proxmox.Utils.defaultText + ' (English)';   ➜     return Proxmox.Utils.defaultText + '(Russian)';

Отредактировано leshiy_odessa (05-08-2019 19:41:46)

Отсутствует

 

№98506-08-2019 13:49:21

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 323
UA: Firefox 60.0

Re: Greasemonkey

leshiy_odessa
А не поможет в твоем случае такая настройка(яхз есть ли она в этих_ваших_квантумах, но раньше была и есть в PaleMoon)
intl.accept_languages = en-US, en, ru-RU, ru
... по-умолчанию, там стоит первыми ru-RU и это заставляет сайты грузить РУ-морду. Поменять ежли на инглиш, то всякие многояз.сайты перестают переключаться на "ломаный русский" и грузят обычнуйю англ. морду.
Мож и в твоем случае подойдёт.

Отредактировано mokujin (06-08-2019 13:51:57)

Отсутствует

 

№98610-08-2019 16:28:03

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 56.0

Re: Greasemonkey

Помогите пожалуйста
Не работает скрипт на сайте www.inoreader.com, на других сайтах работает
скрипт заменяет слова на сайтах, заменяет слово1 на слово2

скрытый текст

Выделить код

Код:

// ==UserScript==
// @name           Replace Text On Webpages
// @namespace      http://userscripts.org/users/23652
// @description    Replaces text on websites. Now supports wildcards in search queries. Won't replace text in certain tags like links and code blocks
// @include        http://*
// @include        https://*
// @include        file://*
// @exclude        http://userscripts.org/scripts/review/*
// @exclude        http://userscripts.org/scripts/edit/*
// @exclude        http://userscripts.org/scripts/edit_src/*
// @exclude        https://userscripts.org/scripts/review/*
// @exclude        https://userscripts.org/scripts/edit/*
// @exclude        https://userscripts.org/scripts/edit_src/*
// @copyright      JoeSimmons
// @version        1.1.0
// @license        http://creativecommons.org/licenses/by-nc-nd/3.0/us/
// ==/UserScript==
(function () {
    'use strict';


    /*
        NOTE: 
            You can use \\* to match actual asterisks instead of using it as a wildcard!
            The examples below show a wildcard in use and a regular asterisk replacement.
    */

    var words = {
    ///////////////////////////////////////////////////////


        // Syntax: 'Search word' : 'Replace word',
        'your a' : 'you\'re a',
        'im\\*o' : 'matching an asterisk, not a wildcard',
        '/\\bD\\b/g' : '[D]',


    ///////////////////////////////////////////////////////
    'слово1':'слово2'};









    //////////////////////////////////////////////////////////////////////////////
    // This is where the real code is
    // Don't edit below this
    //////////////////////////////////////////////////////////////////////////////

    var regexs = [], replacements = [],
        tagsWhitelist = ['PRE', 'BLOCKQUOTE', 'CODE', 'INPUT', 'BUTTON', 'TEXTAREA'],
        rIsRegexp = /^\/(.+)\/([gim]+)?$/,
        word, text, texts, i, userRegexp;

    // prepareRegex by JoeSimmons
    // used to take a string and ready it for use in new RegExp()
    function prepareRegex(string) {
        return string.replace(/([\[\]\^\&\$\.\(\)\?\/\\\+\{\}\|])/g, '\\$1');
    }

    // function to decide whether a parent tag will have its text replaced or not
    function isTagOk(tag) {
        return tagsWhitelist.indexOf(tag) === -1;
    }

    delete words['']; // so the user can add each entry ending with a comma,
                      // I put an extra empty key/value pair in the object.
                      // so we need to remove it before continuing

    // convert the 'words' JSON object to an Array
    for (word in words) {
        if ( typeof word === 'string' && words.hasOwnProperty(word) ) {
            userRegexp = word.match(rIsRegexp);

            // add the search/needle/query
            if (userRegexp) {
                regexs.push(
                    new RegExp(userRegexp[1], 'g')
                );
            } else {
                regexs.push(
                    new RegExp(prepareRegex(word).replace(/\\?\*/g, function (fullMatch) {
                        return fullMatch === '\\*' ? '*' : '[^ ]*';
                    }), 'g')
                );
            }

            // add the replacement
            replacements.push( words[word] );
        }
    }

    // do the replacement
    texts = document.evaluate('//body//text()[ normalize-space(.) != "" ]', document, null, 6, null);
    for (i = 0; text = texts.snapshotItem(i); i += 1) {
        if ( isTagOk(text.parentNode.tagName) ) {
            regexs.forEach(function (value, index) {
                text.data = text.data.replace( value, replacements[index] );
            });
        }
    }

}());


В описании указано что он не заменяет текст в ссылках и блоках кода
Может в этом причина?

Отредактировано Stkvsky (10-08-2019 19:44:01)

Отсутствует

 

№98710-09-2019 18:45:01

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 56.0

Re: Greasemonkey

Здраствуйте, может ли кто починить скрипт для ютуба который отображает сперва новые коментарии вместо популярных?

Выделить код

Код:

// ==UserScript==
// @name        Show newer YouTube comments
// @namespace   com.vsubhash.js.show-youtube-comments-newer
// @description Automatically changes YouTube comments filter off
// @include     https://www.youtube.com/watch*
// @exclude     %exclude%
// @version     2018
// @grant       none
// ==/UserScript==

 
document.addEventListener("DOMContentLoaded", startItDelayed, false);
  
function startItDelayed() {
  window.setTimeout(switchCommentsList, 10*1000);
}
 
function switchCommentsList() { 
  console.log("Showing newer comments");
  var arButtons = document.getElementsByTagName("button");
  console.log(arButtons.length);
  
  var bFound = false;
  for (var i = 0; i < arButtons.length; i++) {
    //console.log(arButtons[i].textContent);
    if (arButtons[i].textContent.trim() == "Top comments") {
      arButtons[i].click();
      bFound = true;
      break;
    }
  }
  if (bFound) {
    //console.log("Menu found--------------");
    var arButtons = document.getElementsByTagName("button");
    console.log(arButtons.length);
    for (var i = 0; i < arButtons.length; i++) {
      //console.log(arButtons[i].textContent);
      if (arButtons[i].textContent.trim() == "Newest first") {
        arButtons[i].click();
        bFound = true;
        break;
      }
    }
  }
  
  
}

Отсутствует

 

№98806-12-2019 18:27:27

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 2522
UA: Firefox 68.0

Re: Greasemonkey

Есть рабочий скрипт для бесконечной прокрутки выдачи Яндека. Что находил по запросу AutoPagerize, не работает.

Отсутствует

 

№98906-12-2019 18:49:31

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 68.0

Re: Greasemonkey

oleg.sgh

Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Отредактировано Stkvsky (06-12-2019 18:50:01)

Отсутствует

 

№99006-12-2019 18:53:00

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 2522
UA: Firefox 68.0

Re: Greasemonkey

Stkvsky
Странно, этот не попадался. Забрал. Спасибо.

Отсутствует

 

№99107-12-2019 06:11:52

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1305
UA: Firefox 68.0

Re: Greasemonkey

oleg.sgh
А поиск там недавно урезали совсем, большинство результатов не выдает
Так же кстати как и когдато для userstyles.net и на АМО с поиском та же беда.
Ограничивают, блокруют развитие браузера в "ненужных" направлениях

Я теперь так ищу:
В гугле, например: AutoPagerize site:https://greasyfork.org/ru

Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Отсутствует

 

№99207-12-2019 07:53:00

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 2522
UA: Firefox 68.0

Re: Greasemonkey

Stkvsky
Я тоже так нередко делаю. Кстати, после оператора достаточно добавить только домен - site:greasyfork.org

Отсутствует

 

Board footer

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