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

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

№90101-05-2018 15:27:37

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 219
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
Сообщений: 23
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
Сообщений: 14
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
Сообщений: 23
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
Сообщений: 219
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
Сообщений: 9294
UA: Seamonkey 2.14

Re: Greasemonkey

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

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


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

Отсутствует

 

№90722-05-2018 15:19:20

selevo
Участник
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 227
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
Сообщений: 291
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);


Отсутствует

 

№90922-05-2018 15:55:17

selevo
Участник
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 227
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
Сообщений: 18
UA: Firefox 59.0

Re: Greasemonkey

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

Отсутствует

 

№91108-06-2018 16:16:59

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

Re: Greasemonkey

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

Отсутствует

 

№91216-06-2018 14:32:15

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 391
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
Сообщений: 9294
UA: Seamonkey 2.14

Re: Greasemonkey

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

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


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

Отсутствует

 

№91416-06-2018 16:39:51

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 353
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
Сообщений: 391
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
Сообщений: 391
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/
Вдруг кто-то захочет поковырять... Лично мне, было очень удобно откинувшись в кресле просто кликать на пробел для перехода на следующую страницу читаемого форума или страницы поиска.

Отсутствует

 

Board footer

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