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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№105103-10-2020 18:55:15

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

Re: Greasemonkey

mokujin пишет

Попробуй.

Сам URL имеет первозданный вид, а вот в открытой вкладке уже обрезанный.

Смысл в том, чтобы Firefox открывал уже обрезанный URL, а иначе он не зафиксируем «уже открытый» URL.

YbcJry2.png

Отсутствует

 

№105203-10-2020 19:40:46

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

Re: Greasemonkey

leshiy_odessa пишет

Смысл в том, чтобы Firefox открывал уже обрезанный URL, а иначе он не зафиксируем «уже открытый» URL.

хах, так не выйдет, ЕЯПП. Это тебе нужно расширение аналог PureURL чтоб перехватывались и изменялись запросы.


...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation

Отсутствует

 

№105304-10-2020 02:48:18

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 81.0

Re: Greasemonkey

Это только у меня переодически слетают все скрипты в Tampermonkey? Как их быстро восстановить из резервного профиля. А ещё лучше если кто-нибудь подскажет, как предотвратить слетание.
ЗЫ Не нашёл более подходящую тему, если есть более уместная, то перенесу, если кто направит.

Отсутствует

 

№105405-10-2020 02:48:52

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 81.0

Re: Greasemonkey

voqabuhe
У меня не слетают. Чем чистишь профиль? У меня свой батник + SpeedyFox.
С 79-й заметил такую вещь. Проверяй у себя.

Отсутствует

 

№105509-11-2020 11:20:43

mike2003
Участник
 
Группа: Members
Зарегистрирован: 29-04-2006
Сообщений: 268
UA: Firefox 82.0

Re: Greasemonkey

Можно ли с помощью Greasemonkey перенести кнопку YouTube?

скрытый текст
kYldSAw.jpg

Отсутствует

 

№105606-12-2020 09:59:57

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

Re: Greasemonkey

Умельцы, нужен автоматический развертыватель комментариев.
Непонятно, либо спецы на сайте руками из...кривыми, либо это счетчик кликов, либо акцент на рекламе. Суть: комментарии свёрнуты по умолчанию везде. Добавлена строчка в конце поста "Развернуть комментарии", которая работает до перезагрузки страницы. Надо чтобы они сами разворачивались во всех темах.
Без блокировщика рекламы - не входить :P

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

Отсутствует

 

№105706-12-2020 11:39:42

zzzephire
Участник
 
Группа: Members
Зарегистрирован: 29-12-2017
Сообщений: 813
UA: Firefox 83.0

Re: Greasemonkey

oleg.sgh пишет

Умельцы, нужен автоматический развертыватель комментариев.
Непонятно, либо спецы на сайте руками из...кривыми, либо это счетчик кликов, либо акцент на рекламе. Суть: комментарии свёрнуты по умолчанию везде. Добавлена строчка в конце поста "Развернуть комментарии", которая работает до перезагрузки страницы. Надо чтобы они сами разворачивались во всех темах.
Без блокировщика рекламы - не входить :P

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

Если есть Stylus/Stylish, то можно просто создать стиль для сайта. Комментарии будут развёрнутыми

Выделить код

Код:

div#userAcBlock { display: block !important; }

Отсутствует

 

№105806-12-2020 12:48:50

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

Re: Greasemonkey

zzzephire
Подойдёт. Благодарю.

Отсутствует

 

№105906-12-2020 15:39:24

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

Re: Greasemonkey

oleg.sgh пишет

Умельцы, нужен автоматический развертыватель комментариев.

У меня на Tampermonkey такое :

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

Выделить код

Код:

// ==UserScript==
// @name        LJ open spoiler
// @namespace   spoilers
// @icon          http://www.livejournal.com/favicon.ico
// @icon64      http://www.livejournal.com/favicon.ico
// @include     http://*.livejournal.com/*
// @include     https://*.livejournal.com/*
// @run-at      document-idle
// @grant       none
// ==/UserScript==

/*

https://forum.mozilla-russia.org/viewtopic.php?pid=731242#p731242

*/

/* --- НАЖИМАЕМ КНОПКУ "Развернуть" --- */
var spoilers = document.getElementsByClassName('ljcut-link-expand');
for (var i = 0; i < spoilers.length; i++) spoilers[i].click();

/* --- УБРАЛ КНОПКУ "Свернуть" --- */
function HideClass() {
var i, elems = document.getElementsByClassName("ljcut-expanded");
for (i = elems.length-1; i >= 0; i--) elems[i].style.display = "none";
setTimeout(HideClass, 1000);
}
setTimeout(HideClass, 1);
Выделить код

Код:

/*
https://forum.mozilla-russia.org/viewtopic.php?pid=733851#p733851
*/
// ==UserScript==
// @name        Dyrty (d3.ru) open spoiler comments
// @namespace   comments
// @icon            https://d3.ru/static/i/logo_retina_alpha.png
// @icon64          https://d3.ru/static/i/logo_retina_alpha.png
// @include     https://*.d3.ru/*
// @include     http://*.d3.ru/*
// @version     1
// @run-at      document-idle
// @grant       none
// ==/UserScript==
function ClickComment() {
  var i, links = document.getElementsByClassName('b-comment__expand-button');
  for (i = links.length-1; i >= 0; i--) links[i].click();
  setTimeout(ClickComment, 1000);
}
setTimeout(ClickComment, 1);
Выделить код

Код:

/*
https://forum.mozilla-russia.org/viewtopic.php?pid=733851#p733851
*/
// ==UserScript==
// @name        Youtube comments open spoiler  [New Design]
// @namespace   comments
// @icon           https://www.youtube.com/favicon.ico
// @icon64        https://www.youtube.com/favicon.ico
// @description    Разворачиваем всё комментарии
// @include     https://youtube.com/*
// @include     http://youtube.com/*
// @include     https://www.youtube.com/*
// @include     http://www.youtube.com/*
// @version     1
// @run-at      document-end
// @grant       none
// ==/UserScript==

/* ----- "Читать дальше" ----- */
function ReadMoreComments() {
/* ----- Выбрали кнопку [Читать дальше] и смотрим её класс ----- */
  var i, links = document.getElementsByClassName('more-button style-scope ytd-comment-renderer');
  for (i = links.length-1; i >= 0; i--) links[i].click();
  setTimeout(ReadMoreComments, 10000);
}
setTimeout(ReadMoreComments, 1);

/* ----- "Показать ответы"  ----- */
function ExpandComments() {
  var i, links = document.getElementsByClassName('style-scope ytd-comment-replies-renderer');
  for (i = links.length-1; i >= 0; i--) links[i].click();
  setTimeout(ExpandComments, 10000);
}
setTimeout(ExpandComments, 1);

Отредактировано leshiy_odessa (06-12-2020 17:42:56)

Отсутствует

 

№106006-12-2020 16:33:58

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

Re: Greasemonkey

... а у меня такоев в GM (попытался сделать универсальный - вписуешь домен где-что открывать и сё):

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

Выделить код

Код:

// ==UserScript==
// @name        Spoilers_open
// @namespace   comments
// @include     http*
// @version     1
// @run-at      document-end
// @grant       none
// ==/UserScript==

 setTimeout( ()=> document.addEventListener("scroll", moreSpoilerOpen, false) , 2000 );

function moreSpoilerOpen() {
  let dom = document.domain.replace(/^www./i,'').split('.').reverse(), arrLinks = [];
       dom = dom[1] + "." + dom[0];

    switch(dom) {
         case "xvideos.com": arrLinks = Array.from( document.getElementsByClassName('btn btn-default show-more') ); break;
         case "newsland.com": arrLinks.push(document.getElementById('comment-folding') ); break;
         default: return;
         }

    if( arrLinks.length > 0 ) arrLinks.forEach( (lnk)=> lnk.click() );

    document.removeEventListener("scroll", moreSpoilerOpen, false);

 };


...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation

Отсутствует

 

№106106-12-2020 19:51:12

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

Re: Greasemonkey

leshiy_odessa, mokujin
Спасибо, буду иметь в виду.

Отсутствует

 

№106207-12-2020 14:05:41

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 83.0

Re: Greasemonkey

leshiy_odessa
mokujin
Не работают эти скрипты на ЖЖ, к сожалению. :( Я уже и сам писать пытался - никак.

Отсутствует

 

№106307-12-2020 15:47:26

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

Re: Greasemonkey

xrun1 пишет

Не работают эти скрипты на ЖЖ, к сожалению.

Приведите пример URL + скрин того что вы хотите развернуть.

Отсутствует

 

№106407-12-2020 17:15:56

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 83.0

Re: Greasemonkey

leshiy_odessa
Развернуть все комментарии, как по комбинации Ctrl + Alt + NumPad +
А сайт, например такой (это ЖЖ-шный сайт) https://shakko.ru/1598066.html
UPD: в // @include добавлял.

Отредактировано xrun1 (07-12-2020 17:17:31)

Отсутствует

 

№106507-12-2020 20:51:33

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

Re: Greasemonkey

xrun1 пишет

Не работают эти скрипты на ЖЖ, к сожалению. :( Я уже и сам писать пытался - никак.

ну, код будет такой(для моего выше скрипта добавить к остальным) Ну или переделай отдельным, по-примеру leshiy_odessa :

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

Выделить код

Код:

..........
          case "shakko.ru": 
                 arrLinks = Array.from( document.querySelectorAll( "A[class='b-pseudo']") );
                  // console.log("кол-во элементов на shakko.ru : " + arrLinks.length);
                 arrLinks.forEach( (el)=> { if ( el.innerHTML == 'Expand' ) el.click() } );
             break; return;
..........


... ниччё лучше не придумал. Дёргаеццо неприятно при открытии.
Т.к. ЖЖ куча внешних видов(тем) то там и разные селекторы у каждого. А спойлер-а, какого-нить универсального селектора, у них тама нету. Везде 'A' (:dumb:) Всеядного, думаю, сделать низзя\сложно. хотя хз.


...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation

Отсутствует

 

№106609-12-2020 04:23:12

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 83.0

Re: Greasemonkey

mokujin
Прикольно дёргается. :) А может ты знаешь, как послать сочетание клавиш после // @run-at      document-end? В ЖЖ, чтобы открыть комментарии, надо нажать Ctrl + Alt + NumPud +
Теоретически такое на java возможно. Было расширение FireGestures, в котором жестом можно было послать сочетание клавиш. Например, F4 FireGestures.sendKeyEvent({ keyCode: "DOM_VK_F4" }); или Alt+N FireGestures.sendKeyEvent({ alt: true, key: "N" });
Не нашёл в инете примеров SendKeyEvent... Можно попробовать распотрошить расширение, оно у меня есть, но для меня там слишком много кода.

Отсутствует

 

№106709-12-2020 10:50:07

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

Re: Greasemonkey

Пример из другого скрипта:

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

Выделить код

Код:

window.addEventListener('keydown', function(e) {
    if(e.ctrlKey && e.altKey) {
        switch(e.keyCode) {
            // для клавиши '+' keyCodde 107   http://www.w3.org/2002/09/tests/keys.html
           case 107: moreSpoilerOpen(); 
                            break;
         }
     }
  }, false);


... не проверял.

Добавлено 09-12-2020 10:54:08
возможно лучше будет keypress

Выделить код

Код:

window.addEventListener('keypress', function(e) { .......

Добавлено 09-12-2020 11:08:14
зы. ЕЯПП, то оно и будет дёргаццо. Еслиб был норм спойлер, то страница просто сдвигалась бы вниз и все, без дерганий. Как на rutracker-e:

Выделить код

Код:

case "pornolab.net":
   case "rutracker.org":
        arrLinks = Array.from(document.getElementsByClassName('sp-head folded'));  break;

или oszone:

Выделить код

Код:

case "forum.oszone.net":
          arrLinks = Array.from(document.getElementsByClassName('spoiler-head'));   break;

А тут в этихваших ЖЖ, типа того, что коменты пишутся в страницу при клике, их кагбе и нету вначале. И изза этого дергается.
потому, для этого сайта универсальный клик не подходит. Надо брать ссылки и проверять их innerHTML. Потому и доп. отдельный код для него надобно.
хз., не сильно я шарю.

Отредактировано mokujin (09-12-2020 11:08:14)


...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation

Отсутствует

 

№106810-12-2020 00:50:32

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 83.0

Re: Greasemonkey

mokujin
Кодов много нашёл. Все похожие и не работают. Буду нажимать клавиатуру на ЖЖ.:(

Отсутствует

 

№106912-02-2021 16:43:37

Raf-9600
Участник
 
Группа: Members
Зарегистрирован: 15-05-2007
Сообщений: 560
UA: Firefox 84.0

Re: Greasemonkey

На некоторых сайтах есть кнопка переключения языка интерфейса на русский язык. Как сделать чтобы при заходе на такой сайт сразу активировать событие этой кнопки? Допустим в случае с https://www.privat24.ua/
Я в скриптах нуб, поэтому хотелось бы увидеть готовый пример, по которому я бы смог понять логику, и дальше уже самостоятельно сделать такие автоматические переключалки для других сайтов.


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

Отсутствует

 

№107012-02-2021 22:23:48

zzzephire
Участник
 
Группа: Members
Зарегистрирован: 29-12-2017
Сообщений: 813
UA: Firefox 85.0

Re: Greasemonkey

Raf-9600
Если не сработает, попробуй увеличить таймаут с 2000 до 3000-5000 миллисекунд.

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

Выделить код

Код:

// ==UserScript==
// @name         Set-RU-Lang
// @namespace    mystuff
// @version      1
// @description  Переключение интерфейса на русский язык
// @author       VasyaPupkin
// @match        https://*.privat24.ua/*
// @grant        none
// ==/UserScript==

setTimeout(()=>{
    let t = document.querySelector('div.languages > a:nth-child(2)');
    if(t) { t.click(); return; }

    let c = document.querySelectorAll('button.sc-iAyFgw.eeJZse');
    if(c[3].title != 'Русский') {
        c[3].click();
        let cc = (document.querySelectorAll('button.sc-jhAzac.YbrrD'));
        let i = cc[0].title == 'Русский' ? 0 : 1;
        cc[i].click();
    }
}, 2000);

Raf-9600 пишет

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

У каждого сайта будет своя логика. Под каждый нужен будет индивидуальный подход.

Отредактировано zzzephire (13-02-2021 20:45:13)

Отсутствует

 

№107113-02-2021 01:56:08

Бумбик
Участник
 
Группа: Members
Зарегистрирован: 04-02-2012
Сообщений: 176
UA: Firefox 85.0

Re: Greasemonkey

на www.privat24.ua можно упростить

Выделить код

Код:

document.addEventListener('load', () => {
	localStorage.lang = 'ru';
	location.reload();
})

Отсутствует

 

№107213-02-2021 10:43:48

sn260591
Участник
 
Группа: Members
Зарегистрирован: 26-09-2015
Сообщений: 89
UA: Firefox 85.0

Re: Greasemonkey

Можно ещё проще и без перезагрузки страницы:

Выделить код

Код:

// ==UserScript==
// @name privat24.ua rus
// @match *://*.privat24.ua/*
// @run-at document-start
// ==/UserScript==

localStorage.lang = 'ru';

Но в подобном скрипте смысл есть только в том случае, если куки сайта удаляются.

Отсутствует

 

№107313-02-2021 20:21:39

Raf-9600
Участник
 
Группа: Members
Зарегистрирован: 15-05-2007
Сообщений: 560
UA: Firefox 84.0

Re: Greasemonkey

Бумбик
sn260591
Ваши варианты не работают с этим сайтом.
.

zzzephire пишет

У каждого сайта будет своя логика

Да, я догадывался. Мне бы просто в общих чертах логику понять.
Сам я из программирования знаю лишь поверхностно C#. Английский не знаю.
.
Кстати, ваш код работает безупречно.
Буду с помощью Гугла выяснять что каждая строчка делает.
.
Благодарю что откликнулись.

Отредактировано Raf-9600 (13-02-2021 20:27:05)


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

Отсутствует

 

№107413-02-2021 21:07:09

Бумбик
Участник
 
Группа: Members
Зарегистрирован: 04-02-2012
Сообщений: 176
UA: Firefox 85.0

Re: Greasemonkey

Raf-9600 пишет

Ваши варианты не работают с этим сайтом.

Видимо особенности Greasemonkey, нет доступа к локальному хранилищу.

Тут не надо выяснять что делает каждая строчка, нужно на базовом уровне знать javascript и работу с DOM, тогда это будет просто

Отсутствует

 

№107513-02-2021 21:56:48

Raf-9600
Участник
 
Группа: Members
Зарегистрирован: 15-05-2007
Сообщений: 560
UA: Firefox 84.0

Re: Greasemonkey

Бумбик пишет

нужно на базовом уровне знать javascript и работу с DOM

А вы как это освоили? Книги? Гугл? Видео уроки?

Бумбик пишет

Видимо особенности Greasemonkey, нет доступа к локальному хранилищу.

Я тестировал в Tampermonkey, он вроде как позиционируется более функциональным.

Отредактировано Raf-9600 (13-02-2021 21:57:37)


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

Отсутствует

 

Board footer

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