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

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

№90101-05-2018 15:27:37

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

Re: Greasemonkey

xrun1 пишет

LJ autoexpand
LJ Thread Expander

Я сделал самостоятельно, по вышеприведенной аналогии.

Выделить код

Код:

// ==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);

Отредактировано leshiy_odessa (01-05-2018 15:31:29)

Отсутствует

 

№90201-05-2018 21:21:17

pointer
Участник
 
Группа: Members
Откуда: планета Земля
Зарегистрирован: 09-12-2011
Сообщений: 40
UA: Firefox 52.0

Re: Greasemonkey

xrun1 пишет

foxfox
Раскрытие комментариев на сайте - давнишняя проблема. Я пробовал 2 скрипта на LJ и они у меня не заработали... Если интересно, вот названия скриптов.
LJ autoexpand
LJ Thread Expander

Попробуйте это:

Выделить код

Код:

function ClickComment() {
  var i, links = document.getElementsByClassName('b-leaf-actions-expand');
  for (i = links.length-1; i >= 0; i--) {
    if (links[i].style.display == 'none') continue;
    aa = links[i].getElementsByTagName('a')
    aa[0].click();
  }
  setTimeout(ClickComment, 3000);
}
setTimeout(ClickComment, 10000);

После загрузки страницы в течение 10 сек комментарии должны раскрыться. Но брауз подвисает :(
ps. Возможно, что те скрипты не работают, т.к. сайт сменил код, и они устарели.

foxfox пишет

Это я уже всё пробовал - не помогает(

Надо знать, что за сайт (точнее, код внутри <div class="sp-wrap">
<div class="sp-body" title="Полноразмерные скриншоты">
<h3 class="sp-title">Полноразмерные скриншоты</h3>
...
</div>).
Например, в коде выше развёртывание идёт не при клике по div или h3, а только по ссылке (<a>). Возможно, и у вас надо искать ссылки внутри.

Отсутствует

 

№90301-05-2018 22:27:03

foxfox
Участник
 
Группа: Members
Зарегистрирован: 19-10-2013
Сообщений: 20
UA: Firefox 56.0

Re: Greasemonkey

Я начал тренироваться на трекерах. Для рутрекера сработало следующее:

Выделить код

Код:

// ==UserScript==
// @name        d33
// @namespace   comments
// @include     https://rutracker.org/*
// @include     http://rutracker.org/*
// @version     1
// @run-at      document-idle
// @grant       none
// ==/UserScript==
function ClickComment() {
  var i, links = document.getElementsByClassName('sp-head folded');
  for (i = links.length-1; i >= 0; i--) links[i].click();
  /*setTimeout(ClickComment, 1000);*/
}
setTimeout(ClickComment, 1);

Если не закомментить "setTimeout(ClickComment, 1000)", то комменты будут открываться и закрываться со скоростью 1 секунда. Если вместо 1000 поставить 100, то - значительно быстрее. Непонятно зачем сделан рекурсивный вызов функции.

Вообще говоря - всё это жутко интересно.

Отредактировано foxfox (02-05-2018 00:10:45)

Отсутствует

 

№90402-05-2018 05:25:58

pointer
Участник
 
Группа: Members
Откуда: планета Земля
Зарегистрирован: 09-12-2011
Сообщений: 40
UA: Firefox 52.0

Re: Greasemonkey

foxfox пишет

Если не закомментить "setTimeout(ClickComment, 1000)", то комменты будут открываться и закрываться со скоростью 1 секунда. Если вместо 1000 поставить 100, то - значительно быстрее. Непонятно зачем сделан рекурсивный вызов функции.

Вообще говоря - всё это жутко интересно.

Дело в том, что, например, на том же LJ комменты подгружаются динамически, т.е. послезагрузки страницы срабатывает скрипт GM, а комменты загружаются чуть позже. Из-за этого скрипт не раскрывает их, если выполняется сразу после загрузки страницы. Можно, конечно, поставить 10000 и вызывать функцию 1 раз. Но у меня в коде выше не зря сделано "if (links[i].style.display == 'none') continue;" - если ссылка "развернуть" скрыта, значит, комментарий раскрыть, и скрипт по ней не щёлкает.

Отсутствует

 

№90502-05-2018 10:54:14

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

Re: Greasemonkey

pointer пишет

Дело в том, что, например, на том же LJ комменты подгружаются динамически, т.е. послезагрузки страницы срабатывает скрипт GM, а комменты загружаются чуть позже. Из-за этого скрипт не раскрывает их, если выполняется сразу после загрузки страницы.

У меня другой опыт. Даже при setTimeout - 1 всё спойлеры открываются.

Например на Youtube комментарии появляются при скроле вниз и ниже приведенный код работает.
Но есть очень неприятный баг. Так как скрипт отрабатывает каждые setTimeout — 1-6000 мс, то соответственно фокус смещается в другое место. То есть если мы нажмем в меню и начнем выбирать какую то функцию, например размер 1080p, то через секунду получим смещение фокуса, то есть закрытие этого меню, так как фактически мышка уже нажата в другом месте экрана.
Побороть это можно двумя способами. При открытии видео не скролить вниз, чтобы комментарии не подгрузились, выбрать в меню, что надо и продолжать. И второй способ это увеличением setTimeout до 6-10 секунд, но эта пауза тоже не очень удобна.

Было бы очень интересно, чтобы это неудобство как то обошли.


Выделить код

Код:

/*
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, 6000);
}
setTimeout(ReadMoreComments, 1);

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

Отредактировано leshiy_odessa (02-05-2018 10:55:37)

Отсутствует

 

№90602-05-2018 12:19:05

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Greasemonkey

leshiy_odessa пишет: Но есть очень неприятный баг. Так как скрипт отрабатывает каждые setTimeout — 1-6000 мс, то соответственно фокус смещается в другое место. То есть если мы нажмем в меню и начнем выбирать какую то функцию, например размер 1080p, то через секунду получим смещение фокуса, то есть закрытие этого меню, так как фактически мышка уже нажата в другом месте экрана.

если вручную то да если программно то пофиг где находится элемент и виден ли он и где фокус, главное чтоб он вообще существовал и клик будет именно по нему.
есличто я про element.click()


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№90722-05-2018 15:19:20

selevo
Забанен
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 240
UA: Chrome 66.0
Веб-сайт

Re: Greasemonkey

Почему alert  выдаёт только переменную leto?
Остальные он чё, забыл ?

Выделить код

Код:

var leto =new Date().getFullYear()
var Mes =new Date().getMonth()
var Den =new Date().getDate()
var Chas =new Date().getHours()
var Minuta =new Date().getMinutes()
var Secunda=new Date().getSeconds()
// выводим...
alert (leto,Mes+1,Den,Chas,Minuta,Secunda)

Отредактировано selevo (22-05-2018 15:20:27)

Отсутствует

 

№90822-05-2018 15:35:21

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

Re: Greasemonkey

selevo

Выделить код

Код:

let l=new Date().getFullYear(), Mes=new Date().getMonth(), D=new Date().getDate(), C=new Date().getHours(), M=new Date().getMinutes(), S=new Date().getSeconds();
let all = l +'; ' + Mes + '; ' + D + '; ' + C + '; ' + M + '; ' + S;
// выводим...
alert(all);

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

Отсутствует

 

№90922-05-2018 15:55:17

selevo
Забанен
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 240
UA: Chrome 66.0
Веб-сайт

Re: Greasemonkey

Благодарю,с таким извратом заработало, странно что    в  html   документе javascript нормально выводит
может здесь какой-то  урезанный alert ?
знак  ; я правда не ставил мне   надо  формат: 2018522165637
:-)

Отредактировано selevo (22-05-2018 15:57:18)

Отсутствует

 

№91008-06-2018 13:03:21

RoxMarty
Участник
 
Группа: Members
Зарегистрирован: 14-03-2015
Сообщений: 28
UA: Firefox 59.0

Re: Greasemonkey

Возможно ли (и как?) можно сделать при помощи Greasemonkey взаимодействие с расширением Brief для кастомизации вывода RSS ленты в нём?
Пример приводил в этом посте

Отсутствует

 

№91108-06-2018 16:16:59

drage2
Забанен
 
Группа: Members
Откуда: Донецк
Зарегистрирован: 23-11-2017
Сообщений: 392
UA: Firefox 60.0

Re: Greasemonkey

Никто еще не придумал скрипт для Rutube? , типа Inject2Download ?. НLS брать....

Отсутствует

 

№91216-06-2018 14:32:15

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

Re: Greasemonkey

Доброе время, форумчане!
CB у меня в [firefox] 60-й версии отвалились, но любимое хочется сохранить. Можно ли сделать 2 скрипта из кнопок?
https://forum.mozilla-russia.org/viewtopic.php?pid=740043#p740043

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

Выделить код

Код:

// Автоматически открывать папки закладок на панели закладок, от 22.08.2016. ...............
addEventListener('mouseover', (e, targ = e.target)=> {
   if ( targ.getAttribute('type') != 'menu'
        || (document.querySelectorAll('[open^="true"]').length > 0        
        && !document.getElementById('PlacesChevron').hasAttribute('open')) 
        ) return;

   document.getElementById('PlacesChevronPopup').hidePopup();
      
   setTimeout(()=> { 
      if ( !targ.f ) try { targ.children[0].showPopup(targ, -1, -1, 'popup', 'bottomleft', 'topleft') } catch(e) {};
   }, 500, targ.f = false);
   targ.onmouseleave =()=> { targ.f = true; targ.onmouseleave = null };
   
}, false, document.getElementById('PlacesToolbar'));


Здесь вариант колесом мышки интересует.
https://forum.mozilla-russia.org/viewtopic.php?pid=661897#p661897
скрытый текст

Выделить код

Код:

// Очистить панель поиска прокруткой колёсиком мыши на панели поиска, от 19.09.2014. ..............
(function () { 
   var searchbar = document.getElementById("searchbar");
   if ( !searchbar ) return;
 
   addEventListener('DOMMouseScroll', function(){
      searchbar.textbox.value = '';
   }, false, searchbar ); 
})();


P.S. Пробовал просто перенести код в js - у меня не получилось.:(

Отредактировано xrun1 (16-06-2018 14:34:13)

Отсутствует

 

№91316-06-2018 16:02:57

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Greasemonkey

xrun1 пишет: Можно ли сделать 2 скрипта из кнопок?

нет. у гризманки нет прав работать с интерфейсом - оно только для сраниц предназначено. а у тебя там работа с интерфейсом


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№91416-06-2018 16:39:51

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 557
UA: Firefox 57.0

Re: Greasemonkey

у меня в 60 esr работают обе кнопки

Выделить код

Код:

// Очистить панель адреса прокруткой колёсиком мыши ....................................................................................................
(function () { 
   var urlbar = document.getElementById("urlbar");
   if ( !urlbar ) return;
   addEventListener('DOMMouseScroll', function(){urlbar.value = '';}, false, urlbar ); 
})();

и

Выделить код

Код:

// Очистить панель поиска прокруткой колёсиком мыши на панели поиска, от 19.09.2014. ..............
(function () { 
   var searchbar = document.getElementById("searchbar");
   if ( !searchbar ) return;
 
   addEventListener('DOMMouseScroll', function(){
      searchbar.textbox.value = '';
   }, false, searchbar ); 
})();

нуу, соответственно и СВ работает. по-моему такой - custom_buttons-0.0.5.8.9-fixed8 с вот этим костылем https://forum.mozilla-russia.org/viewtopic.php?pid=757088#p757088

Отсутствует

 

№91516-06-2018 21:05:05

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

Re: Greasemonkey

okkamas_knife
Спасибо за пояснение. Жаль.
sonyas75
У меня CB отвалился после обновления [firefox] с 59.0.3 на 60. Вычистил реестр, пробовал установить начисто, с разными костылями и версиями CB. Даже проверил чистую установку 60-й на виртуалке Win7x32. Не работает. Как  у других (не ESR) работает - удивляюсь.
Где-то здесь скачал портабельную 60-ю, кнопки работают, но пользоваться ей не выход.
Сделал 4 кнопки на CSS, 3 из них - запуск сторонних приложений. Пожалуй, 1-ю хотелку свою можно сделать, надо спросить в теме про настройки внешнего вида, а про 2-ю забыть.

Отсутствует

 

№91617-06-2018 14:08:16

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

Re: Greasemonkey

Для версий [firefox] до Quantum было удобное расширение "Space Next". Кликаешь клавишей "пробел" на форумах или в поиске - страничка прокручивается на один экран, а по достижении конца переходит на следующую страницу, если есть. Была одна "закавыка", так и не собрался тогда написать автору - на ru-board переход на следующую страницу срабатывал только при клике на кнопку. А в поиске или других форумах всё работало отлично.
Открыл, посмотрел - но моих знаний явно не хватает для редактирования js из этого расширения, да и файл там не маленький.
Вот ссылки
https://yadi.sk/d/xcVWd6Ww3Y23nn
https://addons.mozilla.org/en-US/firefox/addon/space-next/
Вдруг кто-то захочет поковырять... Лично мне, было очень удобно откинувшись в кресле просто кликать на пробел для перехода на следующую страницу читаемого форума или страницы поиска.

Отсутствует

 

№91707-08-2018 13:05:04

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

Re: Greasemonkey

Ребята, вы бы не могли помочь пожалуйста
если не сложно создать скрипт который превращает текст начинающийся с @ (название аккаунта инстаграм) в ссылку на инстаграм профиль?

Например:

Instagram:
@masta_dilemma  →  https://www.instagram.com/masta_dilemma
@tomashlukach     →  https://www.instagram.com/tomashlukach
@nikamanika_      →   https://www.instagram.com/nikamanika_

Отсутствует

 

№91809-08-2018 07:06:54

pointer
Участник
 
Группа: Members
Откуда: планета Земля
Зарегистрирован: 09-12-2011
Сообщений: 40
UA: Firefox 52.0

Re: Greasemonkey

Я не знаю точный формат ссылок в inst, но если анкор начинается с @, то вот:

Выделить код

Код:

for (var i = 0; i < document.links.length; i++) {
  if (document.links[i].innerHTML.charAt(0)=="@") {
    document.links[i].innerHTML = document.links[i].href;
  }
}

Отсутствует

 

№91909-08-2018 10:25:10

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

Re: Greasemonkey

pointer пишет

Я не знаю точный формат ссылок в inst

Вот например пишет человек название своего инстаграм аккаунта: @myrziko
А можно ли сделать чтобы это название становилось ссылкой на https://www.instagram.com/myrziko

Отредактировано Stkvsky (09-08-2018 10:25:36)

Отсутствует

 

№92009-08-2018 17:53:46

pointer
Участник
 
Группа: Members
Откуда: планета Земля
Зарегистрирован: 09-12-2011
Сообщений: 40
UA: Firefox 52.0

Re: Greasemonkey

Stkvsky,  а мой код выше-то работает?

Если нет, то напишите тут полный формат ссылки вот так:
<a href="...">@...</a>
В общем, всё, что между тегами A/A.

Отсутствует

 

№92109-08-2018 21:35:24

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

Re: Greasemonkey

pointer
Не, не работает. Я просто не пойму правильно ли вы меня поняли.
Я имею ввиду чтобы на всех сайтах где написан текст названия аккаунта инстаграм (@названиеаккаунта)
становился ссылкой на этот аккаунт (https://www.instagram.com/названиеаккаунта)
Я не пойму какой полный формат какой ссылки.

Отредактировано Stkvsky (09-08-2018 21:35:49)

Отсутствует

 

№92210-08-2018 04:30:17

pointer
Участник
 
Группа: Members
Откуда: планета Земля
Зарегистрирован: 09-12-2011
Сообщений: 40
UA: Firefox 52.0

Re: Greasemonkey

Stkvsky пишет

Я имею ввиду чтобы на всех сайтах где написан текст названия аккаунта инстаграм (@названиеаккаунта)
становился ссылкой на этот аккаунт (https://www.instagram.com/названиеаккаунта)

Это я понял. Полный формат - просто пример ссылки: всё, что между тегами <a...></a>. С атрибутами тега, конечно (href и пр.).

Отсутствует

 

№92310-08-2018 15:10:04

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

Re: Greasemonkey

pointer
Так для разных аккаунтов это же будут разные ссылки.
Я имею ввиду чтобы все слова с названиями аккаунтов на странице становились ссылками на эти аккаунты в инстаграм.
То есть из любого слова начинающегося с @ (например: @masha) делать ссылку на инсиаграм аккаунт (https://www.instagram.com/masha)

Отсутствует

 

№92429-08-2018 02:53:02

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: Firefox 52.0

Re: Greasemonkey

Доброго дня всем.
Можно ли как то проверить RU AdList JS Fixes?
Киньте ссылку (если не затруднит) на сайт где явно видна работа скрипта.

Отсутствует

 

№92529-08-2018 07:18:56

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

Re: Greasemonkey

Rag
В поиск яндекса - контекстная реклама.  Будет 2-4 блока помеченных "реклама".

Отсутствует

 

Board footer

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