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

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

№70118-02-2017 20:57:48

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

Re: Greasemonkey

leshiy_odessa

Выделить код

Код:

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

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

На форуме

 

№70219-02-2017 00:30:11

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

Re: Greasemonkey

yup


Спасибо за ответ. Но скрипт не работает. Он открывает последний по счету пост.

Мне нужно открытие всех спойлеров на главной странице пользователя. Например тут —

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

Отредактировано leshiy_odessa (19-02-2017 00:35:20)

Отсутствует

 

№70319-02-2017 01:14:51

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 65
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()
                }

Отсутствует

 

№70419-02-2017 01:39:21

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

Re: Greasemonkey

mokujin

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

Отсутствует

 

№70519-02-2017 03:00:30

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

Re: Greasemonkey

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

Отсутствует

 

№70619-02-2017 11:43:04

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

Re: Greasemonkey

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

Отсутствует

 

№70719-02-2017 13:15:07

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 47
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)

Отсутствует

 

№70819-02-2017 17:37:07

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

Re: Greasemonkey

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

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

Отсутствует

 

№70919-02-2017 22:02:49

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

Re: Greasemonkey

1) Последнее время «подкладывают» гиперссылки внутри которых не тот адрес что виден. Есть ли какой скрипт исправляющий это, или может кто напишет?
Пример: https://forum.mozilla-russia.org/viewtopic.php?id=5499&p=26
2) Если у кого-то есть желание, посмотрите скрипт http://steelywing.iblogger.org/google-translate-tooltip
Хотелось бы видеть форматирование текста как в этом скрипте http://ruzanow.ru/userjs/google-translate.js

слева google-translate-tooltip
http://i.imgur.com/JwciPXS.png

3) Почему для некоторых сайтов не отображаются favicon? http://jsfiddle.net/hellowahab/bTQaa/
А иногда бывает то есть, то нет.
+
Кусок другого скрипта который выводит иконку сайта:

Выделить код

Код:

$(document).ready(function () {
    var imgs = "https://plus.google.com/_/favicon?domain=";
//бла бла бла
var link3 = '<a target="_blank" title="chdbits" href="http://chdbits.co/torrents.php?search=' + movie_enc + ' ' + year + '"><img src="' + imgs + 'chdbits.co"></a>';

Пробую менять на получение уже с полного адреса, а не через доменное имя
https://plus.google.com/_/favicon?domain=
>
https://plus.google.com/_/favicon?domain_url=
Результат нулевой.
Так же пробовал с http://www.google.com/s2/favicons?domain= ничего не вышло.

Есть мысль что надо копать в сторону уровней доменов и через  регулярку выводить, но как это организовать? При этом, хотелось бы сохранить оригинальную задумку автора вписывая только домен верхнего уровня(?).

Отредактировано Xant1k (19-02-2017 22:04:59)

Отсутствует

 

№71020-02-2017 00:51:34

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

Re: Greasemonkey

Xant1k пишет:

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

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

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

На форуме

 

№71120-02-2017 17:44:08

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 470
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()


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

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

Отсутствует

 

№71220-02-2017 17:59:34

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 65
UA: unknown 0.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)

Отсутствует

 

№71320-02-2017 18:29:33

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 391
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();

На форуме

 

№71420-02-2017 18:39:38

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

Re: Greasemonkey

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

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

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

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

Отсутствует

 

№71520-02-2017 19:08:48

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

Re: Greasemonkey

vitalii201 пишет:

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

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

Отсутствует

 

№71620-02-2017 20:04:23

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

Re: Greasemonkey

vitalii201 пишет:

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

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

На форуме

 

№71727-02-2017 21:31:23

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

Re: Greasemonkey

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

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

Отсутствует

 

№71827-02-2017 23:12:22

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 65
UA: unknown 0.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();

    });

Отсутствует

 

№71927-02-2017 23:38:39

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 391
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)

На форуме

 

№72027-02-2017 23:49:09

leshiy_odessa
Участник
 
Группа: Members
Зарегистрирован: 13-02-2009
Сообщений: 47
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)

Отсутствует

 

№72128-02-2017 00:00:58

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

Re: Greasemonkey

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

Отсутствует

 

№72228-02-2017 00:08:36

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

Re: Greasemonkey

mokujin

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

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

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

Отсутствует

 

№72328-02-2017 17:33:22

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

Re: Greasemonkey

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

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

Отсутствует

 

№72415-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)

Отсутствует

 

№72515-03-2017 23:14:56

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 391
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);
  }
}

На форуме

 

Board footer

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