Redirect Bypasser показывает всплывающий значок над ссылкой,так вот я не пойму нажимать на ссылку или на значок?
Если нажать на ссылку - будет переход по ссылке (в том виде, как она вписана создателями страницы).
Если нажать на значок - будет переход по очищенной ссылке.
Куда именно будет переход - видно в том месте, где браузер показывает адрес ссылки (у меня это строка статуса). Стоит туда поглядывать, прежде чем на значок нажимать, так как очистка иногда выполняется неправильно (или вообще пытается очищать нормальные ссылки).
И что означают разные цвета значков.
Цветом показывается, откуда взялась ссылка на этом значке: из параметра URL, из кодированного параметра URL, из атрибутов ссылки, из обработчика мышиного события, из текстовой части ссылки...
Если на значок наехать мышкой, то в его всплывающей подсказке это тоже будет написано.
Добавлено 11-04-2017 00:11:08
Есть специальная страничка, на которой можно поупражняться: http://mozlima.github.io/redirectbypass … asser.html
Отредактировано yup (11-04-2017 00:12:26)
Отсутствует
Получил-таки в PaleMoon запрос на подтверждение отправки данных и понял, почему скрипт не работал: я же думал, что этот запрос выдаётся во вкладке браузера - так же, как и первый - а оказалось, что в отдельном диалоговом окне. Скрипты Greasemonkey туда доступа не имеют в принципе. И я даже не уверен, что скрипты Custom Butons это могут.
Отсутствует
Хочу избавится от дополнений в которых я использую одну-две функции.
Стоит задача возврата панели дополнений без дополнительный адонов. В теме по 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)
Отсутствует
leshiy_odessa
Скрипты Greasemonkey внедряются в страницы сайтов и не имеют доступа к потрохам браузера.
Внутри браузера работают скрипты Custom Buttons и userChrome.js
Отредактировано yup (24-04-2017 13:09:19)
Отсутствует
yup
Не давно вы поделились со мной своим скриптом ''AntiGoogle''
https://forum.mozilla-russia.org/viewtopic.php?pid=734762#p734762
Для работы скриптов я пользуюсь Custom Buttons кнопкой ''UserScriptLoader''и там в меню указываются скрипты активные на данной странице.Так вот по каким бы я страницам ни ходил ''AntiGoogle''в меню не появляется.И вот у меня закралось подозрение что он не работает.
Прошу ваше помощи.
Отсутствует
Rag
Сейчас нет времени - автомобиль ждёт у крыльца "под парАми" Вернусь вечером - посмотрю.
Но определить, работает скрипт или нет, очень просто - на любой ссылке в поисковой выдаче Google щёлкнуть второй (правой) кнопкой мыши. Если в информационном окошке, где показывается, куда эта ссылка ведёт, (у меня это вообще строка статуса) ссылка изменится с красивой правильной, на длиннющую кошмарную, начинающуюся с "google.com", то скрипт не работает. Если же ссылка останется какой была - значит, скрипт своё дело сделал.
Отсутствует
yup
Спасибо за разъяснение.Работает.И ссылки с красивой на длиннющую кошмарную не изменяются.Это меня сбила менюшка в ''UserScriptLoader''Так что зря я тут забеспокоился.
И ещё один вопросик если можно.Реальна ли к воплощению моя хотелка.№11694
Ещё раз спасибо.
Отсутствует
Реальна ли к воплощению моя хотелка.№11694
Через Greasemonkey - нет. Но расширения, имеющие желаемую функциональность, существуют, а значит, и через Custom Buttons это сделать можно. Но есть ли смысл делать, если можно взять готовое расширение?
Отредактировано yup (03-05-2017 16:23:47)
Отсутствует
yup пишет:
Через Greasemonkey - нет. Но расширения, имеющие желаемую функциональность, существуют, а значит, и через Custom Buttons это сделать можно. Но есть ли смысл делать, если можно взять готовое расширение
Расширения не хотелось бы,да и названия не знаю.И вряд ли существует расширение с таким функцианалом как мне хочется.К стати говоря на Palemoon ещё и не каждое дополнение подходит.
Отредактировано Rag (03-05-2017 23:41:44)
Отсутствует
Расширения не хотелось бы
Разницы между кнопкой и расширением две:
1. Код кнопки гораздо легче самостоятельно править.
2. У расширения изменение настроек проще и нагляднее.
Ресурсоёмкость обоих вариантов одинаковая.
К стати говоря на Palemoon ещё и не каждое дополнение подходит.
Можно поперебирать в надежде:
Override User Agent
ua-site-switch
UAControl
Отсутствует
Подскажите, может ли кто поделиться скриптом GreaseMonkey, выдающим всплывающую подсказку с переводом слова с англ.языка на русский, при наведении мыши на него.
Как это раньше было в плагине Firefox "Яндекс-Элементы":
Отредактировано kdjy (05-05-2017 22:36:28)
К сожалению, большинство людей просто не видят общей картины, узкая специализация на отдельных науках и дисциплинах препятствует универсальному пониманию действительности.
Жак Фреско
Отсутствует
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)
Отсутствует
Не совсем то, что нужно, но спасибо за наводку!
Для перевода с помощью этих скриптов требуются лишние действия (выделить текст, подвести указатель в определенное место).
К сожалению, большинство людей просто не видят общей картины, узкая специализация на отдельных науках и дисциплинах препятствует универсальному пониманию действительности.
Жак Фреско
Отсутствует
kdjy, 2 клика по слову Lingualeo English Translator
Отсутствует
Спасибо вам, но тоже не совсем то.
Для перевода все равно требуется клик, а хотелось бы обойтись без него.
Как, например, перевести текст, являющийся ссылкой?
Если на него ткнешь мышью, загрузится другая страница (что не всегда требуется).
А если для перевода нужно выделить отдельное слово в ссылке, то это тоже весьма неудобно сделать в этом случае.
Может быть когда-нибудь раскурочу плагин, изучу JS и напишу собственный скрипт (если мозгов у меня хватит ).
Единственное, что не могу понять - как с помощью JavaScript вычислить слово под курсором мыши (не элемент, а конкретное слово).
Отредактировано kdjy (07-05-2017 15:29:44)
К сожалению, большинство людей просто не видят общей картины, узкая специализация на отдельных науках и дисциплинах препятствует универсальному пониманию действительности.
Жак Фреско
Отсутствует
kdjy
Как, например, перевести текст, являющийся ссылкой?
Отсутствует
Такая проблема - есть скрипт 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)
Отсутствует
Друзья, подскажите, существует ли в природе такой скрипт, чтоб разворачивал видео youtube в полный экран на сторонних сайтах?
Например вот здесь sovsport.ru у меня кнопка во весь экран не активна.
Отсутствует
Alex_one
И разворачивает на этом сайте, в том числе.
FYTE /Fast YouTube Embedded/ Player
Отсутствует
Друзья, подскажите, существует ли в природе такой скрипт, чтоб разворачивал видео youtube в полный экран на сторонних сайтах?
Отсутствует
Задачка задач
В роутерах 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)
Отсутствует
Нужно следующее:
Открытие ссылок всегда в новой вкладке для указанного домена...программа яндекс (tv.yandex.ru). например.
Нашел скрипт, с точность до наоборот - Открытие всех ссылок в текущей вкладке и похожий - Открыть внешнюю ссылку в новой вкладке.
Может кто может их переделать или написать новый?
Отсутствует
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)
Отсутствует