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

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

№70119-02-2017 01:14:51

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

Re: Greasemonkey

leshiy_odessa

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

Выделить код

Код:

// ==UserScript==
// @name        LJ spoilers
// @namespace   spoilers
// @include     http://*.livejournal.com/*
// @version     1
// @run-at      document-end
// @grant       none
// ==/UserScript==

  for(var i=0;i<content.document.getElementsByClassName('ljcut-link-expand').length;i++) {
             content.document.getElementsByClassName('ljcut-link-expand')[i].click()
                }


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

Отсутствует

 

№70219-02-2017 01:39:21

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

Re: Greasemonkey

mokujin

Всё тоже самое, открывается последний пост на странице.

Отсутствует

 

№70319-02-2017 03:00:30

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

Re: Greasemonkey

Если это положить в кнопку все открывает как нада. В Код. Из скрипта и у мя, тоже чёт не хочет.


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

Отсутствует

 

№70419-02-2017 11:43:04

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 235
UA: Firefox 51.0

Re: Greasemonkey

mokujin
leshiy_odessa
А так?
// @run-at      document-idle

Отсутствует

 

№70519-02-2017 13:15:07

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

Re: Greasemonkey

ifln

Ура!!! Огромное спасибо, работает отлично.

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

Выделить код

Код:

// ==UserScript==
// @name        LJ spoilers
// @namespace   spoilers
// @include     http://*.livejournal.com/*
// @version     1
// @run-at      document-idle
// @grant       none
// ==/UserScript==

  for(var i=0;i<content.document.getElementsByClassName('ljcut-link-expand').length;i++) {
             content.document.getElementsByClassName('ljcut-link-expand')[i].click()
                }


update Проверил код от yup и он тоже работает. Теперь мой мозг перфекциониста, но не программиста должен выбрать какой оставить :)

Отредактировано leshiy_odessa (19-02-2017 13:18:55)

Отсутствует

 

№70619-02-2017 17:37:07

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

Re: Greasemonkey

leshiy_odessa
Мне тут подсказали, использовать нужно так как сделано у yup

Отредактировано mokujin (19-02-2017 17:37:44)


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

Отсутствует

 

№70719-02-2017 22:02:49

Xant1k
Забанен
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 49
UA: Chrome 56.0
Веб-сайт

Re: Greasemonkey

del

Отредактировано Xant1k (22-07-2021 19:43:44)

Отсутствует

 

№70820-02-2017 00:51:34

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Greasemonkey

Xant1k пишет

1) Последнее время «подкладывают» гиперссылки внутри которых не тот адрес что виден. Есть ли какой скрипт исправляющий это, или может кто напишет?

Скрипты такие есть, да и свой написать не сложно. Но я предпочитаю на портить необратимо страничку, а использовать дополнение Redirect Bypasser.
И есть одна не решаемая никакими средствами проблема: воевать можно только со ссылками, подменяемыми средствами HTML. Подмену, выполняемую через JavaScript, зачастую, не только исправить, но даже и обнаружить невозможно.

Отредактировано yup (20-02-2017 00:58:40)

Отсутствует

 

№70920-02-2017 17:44:08

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 51.0

Re: Greasemonkey

Попробовал сделать "автооткрывалку" спойлеров для Reddit-a

Выделить код

Код:

// ==UserScript==
// @name        Reddit spoilers
// @namespace   spoilers  
// @include     http*://*reddit.com/*
// @version     1
// @run-at      document-idle
// @grant       none
// ==/UserScript==

  for(var i=0;i<content.document.getElementsByClassName('expando-button collapsed video').length;i++) {
             content.document.getElementsByClassName('expando-button collapsed video')[i].click()


Но открываются не все спойлеры.

Как исправить?
К примеру или рандомный тред

Отсутствует

 

№71020-02-2017 17:59:34

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

Re: Greasemonkey

vitalii201

Выделить код

Код:

var spoilers = document.getElementsByClassName('expando-button');
for (var i = 0; i < spoilers.length; i++) spoilers[i].click();

Добавлено 20-02-2017 18:06:12
тока где там спойлеры, на реддит, я так и не нашел.

Отредактировано mokujin (20-02-2017 18:06:12)


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

Отсутствует

 

№71120-02-2017 18:29:33

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Greasemonkey

vitalii201 пишет

Как исправить?

Помогает перебор в обратном порядке:

Выделить код

Код:

var e = document.getElementsByClassName('expando-button collapsed video');
for(var i=e.length-1; i>=0; i--) e[i].click();

Отсутствует

 

№71220-02-2017 18:39:38

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 51.0

Re: Greasemonkey

mokujin, спасибо!
P.S.
yup и ваш код работает, спасибо!

скрытый текст
А мой после перезапуска – нет. )

И какой теперь оставить? )

Отредактировано vitalii201 (20-02-2017 18:51:27)

Отсутствует

 

№71320-02-2017 19:08:48

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

Re: Greasemonkey

vitalii201 пишет

И какой теперь оставить? )

ну тыж видишь, что разница в том что ищется. Несколько элементов с конца , как показал yup  или один.
Если не глючит(не жмакает куда не надо) то оставляй более обширный вариант (с одним классом expando-button ).
Если глючит(жмакает туда куда не должно), то делай более узкий выбор элемента с несколькими классами "expando-button collapsed video" с обратным порядком.


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

Отсутствует

 

№71420-02-2017 20:04:23

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Greasemonkey

vitalii201 пишет

А мой после перезапуска – нет. )

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

Отсутствует

 

№71527-02-2017 21:31:23

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

Re: Greasemonkey

Есть такая проблема. Магазин прячет весь список товаров и для продолжения списка нужно нажимать — "Еще 12 товаров". Пример —  http://www.tavriav.ua/305/c305/

Возможно ли сразу открыть весь список?

Отсутствует

 

№71627-02-2017 23:12:22

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

Re: Greasemonkey

leshiy_odessa
То что пришло в голову, но пашет. Пока будешь крутить - будет жмакацца кнопка

Выделить код

Код:

// ==UserScript==
// @name                     more-goods
// @namespace            default
// @version                  2.0
// @grant                     none
// @include               http://www.tavriav.ua/*
// @run-at                document-start
// ==/UserScript==

document.addEventListener("DOMMouseScroll", function(e) {

    var elem = document.getElementsByClassName("btn-link-i sprite-bf");
        elem[0].click();

    });

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

Отсутствует

 

№71727-02-2017 23:38:39

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Greasemonkey

leshiy_odessa

Выделить код

Код:

function PressButton() {
  if ((document.getElementsByClassName("btn-link-i sprite-bf").length > 0) && (document.getElementsByClassName("btn-link-i sprite-bf hidden").length == 0)) {
    document.getElementsByClassName("btn-link-i sprite-bf")[0].click();
    setTimeout(PressButton, 1000);
  }
}
setTimeout(PressButton, 1);

Отредактировано yup (27-02-2017 23:43:54)

Отсутствует

 

№71827-02-2017 23:49:09

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

Re: Greasemonkey

mokujin

Хитро.  Сначала думал, что не работает ибо по привычке я скролю не колесиком, а полосой прокрутки. А её можно добавить?

Еще мне кажется что можно тогда сразу зациклить на N количество раз. N можно вычислять из количества страниц — <a href="/305/c305/page=17/" class="b-paginator-l-i-link txt-black">17</a>.
Или второй вариант, когда сама кнопка исчезает при появлении последней страницы.

Добавлено 27-02-2017 23:51:28
yup

Шо то не идет. :/ Ничего не происходит.

update2 Ага догадался сделать // @run-at                document-idle

update3 PressButton, 1000 — это как то жестоко.

Отредактировано leshiy_odessa (27-02-2017 23:58:56)

Отсутствует

 

№71928-02-2017 00:00:58

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

Re: Greasemonkey

замени "DOMMouseScroll"   на просто "scroll" , будет жмакать при любом шевелинии страницы(думаю это не очень хорошо, но не уверен). Но онож подгружается снизу, полоска дергается... так шо лучше мышом, если ноут - двумя пальцами по тачпаду(найти прогу для своего ноута).
ну или клавишами ↑ ↓ :rolleyes:


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

Отсутствует

 

№72028-02-2017 00:08:36

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

Re: Greasemonkey

mokujin

Со "scroll" просто волшебно. Скорость открытия впечатляет. Теперь бы скрестить вашу скорость с вариантом от yup. У yup оно делает то что нужно, открывает страницу, но видна задержка в ~500мс. А у mokujin хватаешь за ползунок и вжикаеш вниз и страница наполняется ну очень быстро.

update Черт, я понял что у yup 1000 это задержка, а не количество нажатий.

Отредактировано leshiy_odessa (28-02-2017 00:36:22)

Отсутствует

 

№72128-02-2017 17:33:22

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

Re: Greasemonkey

ну просто у мя за количество кликов отвечает сам бравзер, пока крутишь страницу, пока и будет искать и жмакать. Яж грил, это самое простое что можно.
yum тебе сделал собственный счетчик, кот. зависит от количества этих кнопок(показать еще) на данной странице. Кликает их столько раз, сколько найдет, через интервал.  "Скорость" тут непричем  ;-) ее вообще нет. Разные способы прост.
да, 1000 это задержка = ~1сек.

Отредактировано mokujin (28-02-2017 17:34:18)


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

Отсутствует

 

№72215-03-2017 17:12:01

Sality
Участник
 
Группа: Members
Зарегистрирован: 22-04-2013
Сообщений: 18
UA: Firefox 52.0

Re: Greasemonkey

Привет всем!
Господа, администрация одного хорошего сайта (закрытый трекер на базе TorrentPier II старой версии) удалила поддержку youtube в сообщениях на форуме.
К сожалению, не обладаю знаниями JavaScript и вся надежда только на Вас. Был бы признателен любой помощи. Помогите пожалуйста выполнить следующую задачу.
Необходимо заменять ссылки вида https://youtu.be/Bkq1PAyGuZY на HTML код плеера(фрейма). Ссылки движок трекера оборачивает в следующий код:

Выделить код

Код:

<div class="post_wrap">содержимое сообщения<br /><a href="https://youtu.be/Bkq1PAyGuZY" class="postLink">https://youtu.be/Bkq1PAyGuZY</a></div>

HTML код "плеера" (взял с YouTube)

Выделить код

Код:

<iframe src="https://www.youtube.com/embed/Bkq1PAyGuZY?ecver=2" width="640" height="360" frameborder="0" allowfullscreen></iframe>

В сети есть множество примеров, но без знаний JS применить их не получилось. Выручайте :whiteflag:

Отредактировано Sality (15-03-2017 17:16:59)

Отсутствует

 

№72315-03-2017 23:14:56

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Greasemonkey

Sality
Как-то так:

Выделить код

Код:

var player, i, link, links = document.getElementsByClassName("postLink");
for (i = links.length-1; i >= 0; i--) {
  link = links[i];
  if ((link.nodename == "A") || (link.hostname == "youtu.be") || (link.hostname == "youtube.com") || (link.hostname == "www.youtube.com")) {
    player = document.createElement("iframe");
    player.src = "https://www.youtube.com/embed" + link.pathname + "?ecver=2";
    player.width = 640;
    player.height = 360;
    player.frameBorder = 0;
    player.allowFullscreen = true;
    link.parentElement.replaceChild(player, link);
  }
}

Отсутствует

 

№72417-03-2017 12:51:05

Sality
Участник
 
Группа: Members
Зарегистрирован: 22-04-2013
Сообщений: 18
UA: Firefox 52.0

Re: Greasemonkey

yup пишет

Sality
Как-то так:

Выделить код

Код:

var player, i, link, links = document.getElementsByClassName("postLink");
for (i = links.length-1; i >= 0; i--) {
  link = links[i];
  if ((link.nodename == "A") || (link.hostname == "youtu.be") || (link.hostname == "youtube.com") || (link.hostname == "www.youtube.com")) {
    player = document.createElement("iframe");
    player.src = "https://www.youtube.com/embed" + link.pathname + "?ecver=2";
    player.width = 640;
    player.height = 360;
    player.frameBorder = 0;
    player.allowFullscreen = true;
    link.parentElement.replaceChild(player, link);
  }
}

Большое Вам человеческое спасибо! Очень выручили :)

Выделить код

Код:

|| (link.hostname == "youtube.com") || (link.hostname == "www.youtube.com")

Этот часть кода вырезал, чтобы затрагивался только youtu.be. Ссылки вида *.youtube.com обрабатываются некорректно, но они и не нужны.
Написал это для тех, кто будет использовать этот код.

Еще раз благодарствую, настроение подняли :)

Отсутствует

 

№72526-03-2017 23:29:31

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

Re: Greasemonkey

Еще раз попрошу. Нужно разворачивать всё комментарии на dirty (показать комментарии от ....).

8scuWA9.png


P.S. Заранее огромное спасибо.

Отредактировано leshiy_odessa (26-03-2017 23:31:51)

Отсутствует

 

Board footer

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