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

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

№77624-04-2017 13:00:58

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

Re: Greasemonkey

Хочу избавится от дополнений в которых я использую одну-две функции.
Стоит задача возврата панели дополнений без дополнительный адонов. В теме по userChrome.css привели ниже приведенный код для аддона Custom Buttons. Можно его как то адаптировать для Greasemonkey?

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

Выделить код

Код:

(function(){
  if (document.getElementById("ctraddon_addon-bar") || document.getElementById("ctr_addon-bar"))
    return;

  const kNSXUL = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
  Components.utils.import("resource:///modules/CustomizableUI.jsm");

  // spring and wrapper
  let toolbarspring = document.createElementNS(kNSXUL, "spacer");
  toolbarspring.setAttribute("flex", "1");
  toolbarspring.setAttribute("id", "spring_revertAddonBarStatusBar");
  toolbarspring.setAttribute("removable", "false");
  let palette = document.getElementById("navigator-toolbox").palette;
  palette.appendChild(toolbarspring);

  let dmy = document.createElementNS(kNSXUL, "toolbaritem");
  dmy.setAttribute("id", "ucjs-status-bar");
  dmy.appendChild(document.getElementById("status-bar"));
  palette.appendChild(dmy);

  //create toolbar
  let addonbar = document.createElementNS(kNSXUL, "toolbar");
  addonbar.setAttribute("id", "ucjs-addon-bar");
  addonbar.setAttribute("customizable", "true");
  addonbar.setAttribute("mode", "icons");
  addonbar.setAttribute("iconsize", "small");
  addonbar.setAttribute("context", "toolbar-context-menu");
  addonbar.setAttribute("class", "toolbar-primary chromeclass-toolbar customization-target");
  addonbar.setAttribute("toolbarname", "UCJS Add-on Bar");
  addonbar.setAttribute("toolboxid", "navigator-toolbox");


  //register toolbar.id
  try {
    CustomizableUI.registerArea("ucjs-addon-bar", {
      type: CustomizableUI.TYPE_TOOLBAR,
      defaultPlacements: ["spring_revertAddonBarStatusBar", "ucjs-status-bar"]
    });
  } catch(ee) {}

  var bottombox = document.getElementById("browser-bottombox");
  bottombox.appendChild(addonbar);

  let style = ' \
    @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); \
    #ucjs-addon-bar { \
      border-top: 1px solid threedshadow; \
      border-bottom: 0 solid transparent; \
    } \
\
    #main-window[customizing] #ucjs-addon-bar { \
      border: 1px dotted threedshadow; \
    } \
\
    #main-window[customizing] #ucjs-addon-bar #status-bar { \
      border: 1px solid black; \
      opacity: 0.5; \
    } \
\
    #main-window[customizing] #spring_revertAddonBarStatusBar { \
      margin-left: 10px; \
      margin-right:10px; \
      border: 1px dashed threedshadow; \
    } \
    '.replace(/\s+/g, " ");

  let sspi = document.createProcessingInstruction(
    'xml-stylesheet',
    'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"'
  );
  document.insertBefore(sspi, document.documentElement);
  sspi.getAttribute = function(name) {
    return document.documentElement.getAttribute(name);
  };

  BookmarkingUI._updateCustomizationState();
})();

Отредактировано leshiy_odessa (24-04-2017 13:01:46)

Отсутствует

 

№77724-04-2017 13:08:57

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

Re: Greasemonkey

leshiy_odessa
Скрипты Greasemonkey внедряются в страницы сайтов и не имеют доступа к потрохам браузера.
Внутри браузера работают скрипты Custom Buttons и userChrome.js

Отредактировано yup (24-04-2017 13:09:19)

Отсутствует

 

№77803-05-2017 08:00:06

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

Re: Greasemonkey

yup
Не давно вы поделились со мной своим скриптом ''AntiGoogle''
https://forum.mozilla-russia.org/viewtopic.php?pid=734762#p734762
Для работы скриптов я пользуюсь Custom Buttons кнопкой ''UserScriptLoader''и там в меню указываются скрипты активные на данной странице.Так вот по каким бы я страницам ни ходил ''AntiGoogle''в меню не появляется.И вот у меня закралось подозрение что он не работает.
Прошу ваше помощи.

Отсутствует

 

№77903-05-2017 09:15:59

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

Re: Greasemonkey

Rag
Сейчас нет времени - автомобиль ждёт у крыльца "под парАми":) Вернусь вечером - посмотрю.

Но определить, работает скрипт или нет, очень просто - на любой ссылке в поисковой выдаче Google щёлкнуть второй (правой) кнопкой мыши. Если в информационном окошке, где показывается, куда эта ссылка ведёт, (у меня это вообще строка статуса) ссылка изменится с красивой правильной, на длиннющую кошмарную, начинающуюся с "google.com", то скрипт не работает. Если же ссылка останется какой была - значит, скрипт своё дело сделал.

Отсутствует

 

№78003-05-2017 10:10:04

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

Re: Greasemonkey

yup
Спасибо за разъяснение.Работает.ok.gifИ ссылки с красивой на длиннющую кошмарную не изменяются.Это меня сбила менюшка в ''UserScriptLoader''Так что зря я тут забеспокоился.
И ещё один вопросик если можно.Реальна ли к воплощению моя хотелка.№11694
Ещё раз спасибо.

Отсутствует

 

№78103-05-2017 16:22:17

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

Re: Greasemonkey

Rag пишет

Реальна ли к воплощению моя хотелка.№11694

Через Greasemonkey - нет. Но расширения, имеющие желаемую функциональность, существуют, а значит, и через Custom Buttons это сделать можно. Но есть ли смысл делать, если можно взять готовое расширение?

Отредактировано yup (03-05-2017 16:23:47)

Отсутствует

 

№78203-05-2017 23:09:20

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

Re: Greasemonkey

yup пишет:
Через Greasemonkey - нет. Но расширения, имеющие желаемую функциональность, существуют, а значит, и через Custom Buttons это сделать можно. Но есть ли смысл делать, если можно взять готовое расширение

Расширения не хотелось бы,да и названия не знаю.И вряд ли существует расширение с таким функцианалом как мне хочется.К стати говоря на Palemoon ещё и не каждое дополнение подходит.

Отредактировано Rag (03-05-2017 23:41:44)

Отсутствует

 

№78304-05-2017 00:04:51

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

Re: Greasemonkey

Rag пишет

Расширения не хотелось бы

Разницы между кнопкой и расширением две:
1. Код кнопки гораздо легче самостоятельно править.
2. У расширения изменение настроек проще и нагляднее.
Ресурсоёмкость обоих вариантов одинаковая.

Rag пишет

К стати говоря на Palemoon ещё и не каждое дополнение подходит.

Можно поперебирать в надежде:
Override User Agent
ua-site-switch
UAControl

Отсутствует

 

№78404-05-2017 02:27:39

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

Re: Greasemonkey

yup
Нет слов.Я тут людям мозги компостирую.Сделайте мне кнопку.А ларчик то просто открывается,поставил UAControl и всё что я хотел зафунциклировало.:lol:Спасибо!!!

Отсутствует

 

№78505-05-2017 22:36:02

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

Re: Greasemonkey

Подскажите, может ли кто поделиться скриптом GreaseMonkey, выдающим всплывающую подсказку с переводом слова с англ.языка на русский, при наведении мыши на него.
Как это раньше было в плагине Firefox "Яндекс-Элементы":
h_1494012607_4447300_1636261555.png

Отредактировано kdjy (05-05-2017 22:36:28)


К сожалению, большинство людей просто не видят общей картины, узкая специализация на отдельных науках и дисциплинах препятствует универсальному пониманию действительности.
Жак Фреско

Отсутствует

 

№78605-05-2017 22:47:26

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

Re: Greasemonkey

kdjy пишет:
Подскажите, может ли кто поделиться скриптом GreaseMonkey, выдающим всплывающую подсказку с переводом слова с англ.языка на русский, при наведении мыши на него.
Как это раньше было в плагине Firefox "Яндекс-Элементы":

Попробуйте может подoйдёт.
Google Translator Tooltip Expanded Fork
https://greasyfork.org/ru/scripts/16204-google-translator-tooltip-expanded-fork
Translate.google tooltip
https://greasyfork.org/ru/scripts/9285-translate-google-tooltip

Отредактировано Rag (06-05-2017 11:03:19)

Отсутствует

 

№78706-05-2017 16:29:31

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

Re: Greasemonkey

Не совсем то, что нужно, но спасибо за наводку! :)
Для перевода с помощью этих скриптов требуются лишние действия (выделить текст, подвести указатель в определенное место).


К сожалению, большинство людей просто не видят общей картины, узкая специализация на отдельных науках и дисциплинах препятствует универсальному пониманию действительности.
Жак Фреско

Отсутствует

 

№78806-05-2017 17:04:42

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

Re: Greasemonkey

kdjy, 2 клика по слову Lingualeo English Translator

Отсутствует

 

№78907-05-2017 15:27:20

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

Re: Greasemonkey

Спасибо вам, но тоже не совсем то.
Для перевода все равно требуется клик, а хотелось бы обойтись без него.
Как, например, перевести текст, являющийся ссылкой?

h_1494159614_7800195_2337554441.png

Если на него ткнешь мышью, загрузится другая страница (что не всегда требуется).
А если для перевода нужно выделить отдельное слово в ссылке, то это тоже весьма неудобно сделать в этом случае.
Может быть когда-нибудь раскурочу плагин, изучу JS и напишу собственный скрипт (если мозгов у меня хватит :D).
Единственное, что не могу понять - как с помощью JavaScript вычислить слово под курсором мыши (не элемент, а конкретное слово).

Отредактировано kdjy (07-05-2017 15:29:44)


К сожалению, большинство людей просто не видят общей картины, узкая специализация на отдельных науках и дисциплинах препятствует универсальному пониманию действительности.
Жак Фреско

Отсутствует

 

№79007-05-2017 16:21:58

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

Re: Greasemonkey

kdjy

Как, например, перевести текст, являющийся ссылкой?

Select like opera
Select text inside a link like Opera

Отсутствует

 

№79110-05-2017 16:43:30

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 53.0

Re: Greasemonkey

Такая проблема - есть скрипт https://greasyfork.org/ru/scripts/811-r … indow-size. После обновления у меня отвалилась возможность регулировать громкость от дополнения Magic Action for Youtube. Я поискал старые версии, удалил текущую, но мне стало писать, что данный пользовательский скрипт не совместим с FF v53.0
Прошу помощи, хочется что бы хотя бы скрипт заработал, пусть даже без регулировки звука колесиком мышки. Спасибо!
upd: решил проблему установкой 96 версии скрипта и нажатием кнопки "включить" в панели аддонов. всем спасибо

Отредактировано LittleMontana (10-05-2017 17:13:47)

Отсутствует

 

№79210-05-2017 20:53:09

Alex_one
Участник
 
Группа: Members
Зарегистрирован: 27-09-2015
Сообщений: 151
UA: Firefox 52.0

Re: Greasemonkey

Друзья, подскажите, существует ли в природе такой скрипт, чтоб разворачивал видео youtube в полный экран на сторонних сайтах?
Например вот здесь sovsport.ru у меня кнопка во весь экран не активна.

Отсутствует

 

№79310-05-2017 22:34:05

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

Re: Greasemonkey

Alex_one
И разворачивает на этом сайте, в том числе.
FYTE /Fast YouTube Embedded/ Player

Отсутствует

 

№79411-05-2017 09:34:32

Uxapb
Участник
 
Группа: Members
Зарегистрирован: 25-01-2012
Сообщений: 137
UA: Firefox 52.0

Re: Greasemonkey

Alex_one пишет

Друзья, подскажите, существует ли в природе такой скрипт, чтоб разворачивал видео youtube в полный экран на сторонних сайтах?

Maximize Video

Отсутствует

 

№79511-05-2017 10:48:27

Alex_one
Участник
 
Группа: Members
Зарегистрирован: 27-09-2015
Сообщений: 151
UA: Firefox 52.0

Re: Greasemonkey

oleg.sgh
Uxapb
Спасибо! На всякий случай забрал два cbebed6eb642.gif
273e7bd339ef.gif

Отсутствует

 

№79630-05-2017 20:44:21

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

Re: Greasemonkey

Задачка задач :)

В роутерах TP-LINK есть возможность блокировать по спискам URL и IP. Добавлять 100-200 полей вручную как вы понимаете достаточно муторно и неэффективно (поначалу так и делал). Поэтому, если кому интересно, то сделайте пожалуйста скрипт для добавления URL или IP с локального списка. Если с локального списка проблематично, то в принципе ничего страшного можно и из списка в самом скрипте. Также есть одно ограничение. URL должен быть не более 31 символа. Я пришел к выводу, что ограничивать URL лучше с конца  в начало.

Веб эмулятор на котором можно потренироваться — Access Control —> Target —> Edit

Списки для тренировки :
https://pastebin.com/esJfaW9m
https://pastebin.com/CKuKL81b

Отредактировано leshiy_odessa (30-05-2017 20:45:05)

Отсутствует

 

№79728-07-2017 14:57:36

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

Re: Greasemonkey

Нужно следующее:
Открытие ссылок всегда в новой вкладке для указанного домена...программа яндекс (tv.yandex.ru). например.
Нашел скрипт, с точность до наоборот -  Открытие всех ссылок в текущей вкладке и похожий - Открыть внешнюю ссылку в новой вкладке.
Может кто может их переделать или написать новый?

Отсутствует

 

№79829-07-2017 02:54:48

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

Re: Greasemonkey

oleg.sgh
Переделать не тяжело, но:
1. Что в данном случае имеется в виду под доменом? например, в случае tv.yandex.ru домен - это yandex.ru, строго tv.yandex.ru или tv.yandex.ru включая его поддомены (напр. abc.tv.yandex.ru)?
2. Переход по ссылке не всегда происходит на тот адрес и тем образом, которые в этой ссылке указаны. Если на эту ссылку навешаны обработчики событий мышки или клавиатуры, то они могут задавать совсем другой адрес и способ. Надёжного метода борьбы с этим нет: единственный способ - добавить ещё и свой обработчик, но куда и как в этом случае произойдёт переход предсказать невозможно, так как порядок срабатывания обработчиков непредсказуем.

Добавлено 29-07-2017 03:12:18
Если интересует стргое совпадение с именем домена (т.е. хоста), то код скрипта может быть таким:

Выделить код

Код:

"use strict";

function getAnchor(element) {
  while (element && element.nodeName != "A") element = element.parentNode;
  return element;
}

document.addEventListener("click", function(e) {
  var hosts = [
        "tv.yandex.ru"
      , "domain1.abc"
      , "domain2.def"
      ];
  var anchor = getAnchor(e.target);    
  if (anchor.hostname in hosts) anchor.target = "_blank";
});

Отредактировано yup (29-07-2017 03:12:18)

Отсутствует

 

№79929-07-2017 08:18:01

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

Re: Greasemonkey

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

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

В таком виде, скрипт появляется на программе, но не срабатывает
скрытый текст

Выделить код

Код:

// ==UserScript==
// @name        Yandex
// @namespace   al
// @include     http*://tv.yandex.ru/*
// @version     1
// @grant       none
// ==/UserScript==

function getAnchor(element) {
  while (element && element.nodeName != "A") element = element.parentNode;
  return element;
}

document.addEventListener("click", function(e) {
  var hosts = [
        "tv.yandex.ru"
      , "domain1.abc"
      , "domain2.def"
      ];
  var anchor = getAnchor(e.target);    
  if (anchor.hostname in hosts) anchor.target = "_blank";
});

Отредактировано oleg.sgh (29-07-2017 08:19:34)

Отсутствует

 

№80029-07-2017 13:52:13

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

Re: Greasemonkey

Выделить код

Код:

// ==UserScript==
// @name        YandexTV
// @namespace   YTV
// @include     http*://tv.yandex.ru/*
// @version     1
// @grant       none
// ==/UserScript==
function getAnchor(element) {
  while (element && element.nodeName != "A") element = element.parentNode;
  return element;
}

document.addEventListener("click", function(e) {
  var hosts = [
        "tv.yandex.ru"
      , "domain1.abc"
      , "domain2.def"
      ];
  var anchor = getAnchor(e.target);
  if (hosts.indexOf(anchor.hostname) >= 0) anchor.target = "_blank";
});

Кстати, "domain1.abc" и "domain2.def" здесь только как пример добавления других сайтов.

Отсутствует

 

Board footer

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