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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№75109-04-2017 07:36:52

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

Re: Greasemonkey

В первом варианте текста скрипта я допустил опечатку в одной из строк. Сейчас там уже исправленный вариант.

Отсутствует

 

№75209-04-2017 07:51:57

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

Re: Greasemonkey

После включения скрипта изменилась очерёдность сообщений.Было два сообщения ''Документ просрочен''попробовать снова и ''Подтверждение''отправить заново.А теперь они выскакивают сразу оба.

Добавлено 09-04-2017 08:04:28
yup
Если вы захотите продолжить эксперименты с этим скриптом (в чём  я надеюсь) то я буду на форуме после 22.00 Спасибо.

Отредактировано Rag (09-04-2017 08:04:28)

Отсутствует

 

№75309-04-2017 08:35:16

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

Re: Greasemonkey

Rag
Отключите скрипт и поочерёдно на обеих кнопках вызовите пункт меню "Исследовать элемент". Интересуют id кнопок.

Отсутствует

 

№75409-04-2017 22:54:02

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

Re: Greasemonkey

yup пишет:

Отключите скрипт и поочерёдно на обеих кнопках вызовите пункт меню ''Исследовать элемент''. Интересуют id кнопок.

1 кнопка ''Попробовать снова''  id=errorTryAgain
2 кнопка ''Отправить заново'' не вызывается меню,так что ничего я не увидел.
С помощью cb кнопки Attributes Inspector увидел только id самого сообщения.- id=commonDialog

Отсутствует

 

№75510-04-2017 00:15:38

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

Re: Greasemonkey

Rag пишет

кнопка ''Отправить заново'' не вызывается меню,так что ничего я не увидел.

Ладно, попробуем обойтись.

Выделить код

Код:

// ==UserScript==
// @name        ReSend
// @namespace   ReSend
// @include     https://rutracker.org/*
// @version     2
// @grant       none
// ==/UserScript==
function ClickButton2() {
  var Buttons = document.getElementsByTagName("button");
  if (Buttons != undefined) Buttons[0].click();
  else if (window.c_o_u_n_t-- > 0) setTimeout(ClickButton2, 100);
};
var Button1 = document.getElementById("errorTryAgain");
if (Button1 == undefined) return;
Button1.click();
window.c_o_u_n_t = 5;
setTimeout(ClickButton2, 100);

Отсутствует

 

№75610-04-2017 00:27:08

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

Re: Greasemonkey

yup пишет:
Ладно, попробуем обойтись

Без изменений.Выскакивают сразу оба сообщения,единственно что меньше жмакать на кнопки.
И вопрос не по теме.Для не опытного.Как на форум отправить сообщение с анимацией?

Отсутствует

 

№75710-04-2017 02:29:40

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

Re: Greasemonkey

Rag пишет

Выскакивают сразу оба сообщения

Как это понимать? Оба сообщения на одной странице?

Rag пишет

единственно что меньше жмакать на кнопки.

То есть, кнопки нажимаются сами? Так в этом и состоит назначение скрипта.

Rag пишет

Как на форум отправить сообщение с анимацией?

А что это такое? Сообщение с анимированным изображением?

Отсутствует

 

№75810-04-2017 02:44:17

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

Re: Greasemonkey

yup
Без скрипта появлялось сообщение с кнопкой,после нажатия на которую вылазило окошко с кнопкой для  подтверждения действия. А со скриптом не нужно жать на кнопку сообщения. Появляется сразу сообщение и окошко для подтверждения.Может я ни правильно объясняю но как могу вы уж извините.Сообщение с анимацией gif открыл спойлер а там типа видео ну чтоб наглядней было видно.Ну как то так.

Добавлено 10-04-2017 03:02:51
yup
Получается так что скрипт нажимает кнопку сообщения,а вот на кнопку в окошке нужно нажимать самому.В общем я вас запутал ''Выскакивают сразу оба сообщения''- сообщение и окошко.

Отредактировано Rag (10-04-2017 03:02:51)

Отсутствует

 

№75910-04-2017 03:16:56

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

Re: Greasemonkey

Rag пишет

Получается так что скрипт нажимает кнопку сообщения,а вот на кнопку в окошке нужно нажимать самому.

Осталось разобраться, почему не нажимает вторую кнопку. Для эксперимента попробуйте вот такой вариант:

Выделить код

Код:

// ==UserScript==
// @name        ReSend
// @namespace   ReSend
// @include     https://rutracker.org/*
// @version     2.99
// @grant       none
// ==/UserScript==
function ClickButton2() {
  document.getElementsByTagName("button")[0].click();
};
var Button1 = document.getElementById("errorTryAgain");
if (Button1 == undefined) return;
Button1.click();
setTimeout(ClickButton2, 1000);

Отсутствует

 

№76010-04-2017 03:22:56

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

Re: Greasemonkey

yup пишет:
Осталось разобраться, почему не нажимает вторую кнопку. Для эксперимента попробуйте вот такой вариант

Ничего не изменилось.Аналогично как с прошлым скриптом.

Отсутствует

 

№76110-04-2017 03:32:32

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

Re: Greasemonkey

Rag
Когда на экране будет вторая кнопка, нажмите Ctrl-Shift-C - внизу окна появится отладчик. В нём левее слова "Инспектор" будет квадратик со стрелкой, указывающей в его середину. Нажмите на этот квадратик (он из чёрного станет синим), после чего нажмите мышкой на кнопку подтверждения. В результате внизу, в отладчике, в дереве объектов выделенная строка переместится на объект нашей сопротивляющейся кнопки. Щелкните по этой строке правой кнопкой мыши и выберите "Копировать" > "Внешний HTML". Скопированный текст выложите сюда.

Отредактировано yup (10-04-2017 03:33:06)

Отсутствует

 

№76210-04-2017 03:42:30

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

Re: Greasemonkey

yup пишет:
нажмите Ctrl-Shift-C

На Ctrl-Shift-C ни какой реакции,ничего не появляется.Я это уже как то пробовал ничего не вышло.

Добавлено 10-04-2017 04:05:37
yup
Не посчитайте за наглость. Вам не проще будит поставить такой же Palemoon чтоб самому быстрей разобратса как говоритса самому посчупать.Браузер портабл ни составит труда потом его удалить.
http://www.palemoon.org/palemoon-portable.shtml

Отредактировано Rag (10-04-2017 04:05:37)

Отсутствует

 

№76310-04-2017 14:36:39

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

Re: Greasemonkey

Rag пишет

На Ctrl-Shift-C ни какой реакции,ничего не появляется.

Ctrl-Shift-C - это Инструменты > Веб-разработка > Инспектор

Rag пишет

Вам не проще будит поставить такой же Palemoon чтоб самому быстрей разобратса как говоритса самому посчупать.Браузер портабл ни составит труда потом его удалить.

Выкачал. Распаковал. Выкачал ещё раз, теперь уже версию 26.5, ибо нынешняя 27 под XP не запускается. Распаковал, запустил. Обнаружил, что практически никаких встроенных средств для разбирательства со страничками нет. Предлагают загружать дополнения для Firefox. Но Firebug браузер устанавливать не желает - говорит, что несовместим. Хорошо хоть, что DOM Inspector устанавливается и работает.
Но от того, что у меня теперь всё это есть пользы мало. Нужно же ещё знать, куда идти и что там делать, чтобы нужное сообщение получить. Давайте наоборот: установите себе DOM Inspector и вызовите его на страничке с той кнопкой (Tools > Web Developer > Dom Inspector). Когда его окошко появится, нажмите квадрат со стрелочкой в верхнем левом углу окна, потом ткнитесь мышкой в интересующую нас кнопку, вернитесь в окно DOM Inspector и из контекстного меню подсвеченной там строки выберите "Copy XML". То, что скопируется, вставьте в своё сообщение.

Отсутствует

 

№76410-04-2017 19:58:39

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

Re: Greasemonkey

yup пишет/:

установите себе DOM Inspector и вызовите его на страничке с той кнопкой

Установил.
DOM Inspector вызывается только на сообщении ''Документ просрочен''с кнопкой ''Попробовать снова.''А вот на нужном окошке ''Подтверждение'' с кнопкой ''Отправить заново''не вызывается.

выберите Copy XML. То, что скопируется, вставьте в своё сообщение.

Скопировал ''Документ просрочен''с кнопкой ''Попробовать снова.''Может это как то поможет.

скрытый текст
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html [
  <!ENTITY % htmlDTD
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "DTD/xhtml1-strict.dtd">
  %htmlDTD;
  <!ENTITY % netErrorDTD
    SYSTEM "chrome://global/locale/netError.dtd">
  %netErrorDTD;

<!ENTITY loadError.label "Проблема при загрузке страницы">
<!ENTITY retry.label "Попробовать снова">

<!-- Specific error messages -->

<!ENTITY connectionFailure.title "Попытка соединения не удалась">
<!ENTITY connectionFailure.longDesc "&sharedLongDesc;">

<!ENTITY deniedPortAccess.title "Обращение к данному адресу заблокировано">
<!ENTITY deniedPortAccess.longDesc "<p>Для запрошенного адреса указан порт (пример: <q>palemoon.org:25</q> это порт 25 на сайте palemoon.org) который, как правило, <em>не используется</em> для работы с веб-сайтами. В целях безопасности браузер отменил данный запрос.</p>">

<!ENTITY dnsNotFound.title "Сервер не найден">
<!ENTITY dnsNotFound.longDesc "
<ul>
  <li>Проверьте, не допущена ли ошибка при наборе адреса, например, <strong>ww</strong>.example.com вместо <strong>www</strong>.example.com</li>
  <li>Если ни одна страница не загружается – проверьте настройки соединения с Интернетом.</li>
  <li>Если компьютер или сеть защищены межсетевым экраном или прокси-сервером – убедитесь, что &brandShortName; разрешён выход в Интернет.</li>
</ul>
">

<!ENTITY fileNotFound.title "Файл не найден">
<!ENTITY fileNotFound.longDesc "
<ul>
   <li>Проверьте правильность введённого имени файла, соответствие регистра и отсутствие других ошибок в имени файла.</li>
   <li>Проверьте, не был ли файл переименован, удалён или перемещён.</li>
</ul>">


<!ENTITY generic.title "Ой.">
<!ENTITY generic.longDesc "
<p>&brandShortName; не может загрузить эту страницу по какой-то причине.</p>
">

<!ENTITY malformedURI.title "Некорректный адрес">
<!ENTITY malformedURI.longDesc "
<ul>
  <li>Адреса веб-сайтов обычно записываются в формате <strong>http://www.example.com/</strong></li>
  <li>Убедитесь, что вы используете в качестве разделителя прямую косую черту (т.е. <strong>/</strong>).</li>
</ul>
">

<!ENTITY netInterrupt.title "Соединение было прервано">
<!ENTITY netInterrupt.longDesc "&sharedLongDesc;">

<!ENTITY notCached.title "Документ просрочен">
<!ENTITY notCached.longDesc "<p>Запрошенный документ не доступен в кэше &brandShortName;.</p><ul><li>В целях безопасности &brandShortName; не производит автоматический повторный запрос важных документов.</li><li>Нажмите «Попробовать снова», чтобы повторно запросить документ с веб-сайта.</li></ul>">

<!ENTITY netOffline.title "Автономный режим">
<!ENTITY netOffline.longDesc2 "
<ul>
   <li>Нажмите «Попробовать снова», чтобы подключиться к сети и перезагрузить страницу.</li>
</ul> ">

<!ENTITY contentEncodingError.title "Ошибка в типе содержимого">
<!ENTITY contentEncodingError.longDesc "

<ul>
   <li>Пожалуйста, свяжитесь с владельцами веб-сайта и проинформируйте их об этой проблеме.</li>
</ul> ">

<!ENTITY unsafeContentType.title "Небезопасный тип файла">
<!ENTITY unsafeContentType.longDesc "
<ul>
  <li>Пожалуйста, свяжитесь с владельцами веб-сайта и проинформируйте их о этой проблеме.</li>
</ul>
">

<!ENTITY netReset.title "Соединение было сброшено">
<!ENTITY netReset.longDesc "&sharedLongDesc;">

<!ENTITY netTimeout.title "Время соединения истекло">
<!ENTITY netTimeout.longDesc "&sharedLongDesc;">

<!ENTITY unknownProtocolFound.title "Неизвестный тип адреса">
<!ENTITY unknownProtocolFound.longDesc "
<ul>
  <li>Для открытия данного адреса вам, возможно, понадобится установить стороннее программное обеспечение.</li>
</ul>
">

<!ENTITY proxyConnectFailure.title "Прокси-сервер отказывается принимать соединения">
<!ENTITY proxyConnectFailure.longDesc "
<ul>
  <li>Проверьте настройки прокси-сервера и убедитесь, что они верны.</li>
  <li>Свяжитесь с вашим системным администратором и убедитесь, что прокси-сервер работает.</li>
</ul>
">

<!ENTITY proxyResolveFailure.title "Не удалось найти прокси-сервер">
<!ENTITY proxyResolveFailure.longDesc "
<ul>
  <li>Проверьте правильность установленных настроек прокси-сервера.</li>
  <li>Проверьте работу соединения вашего компьютера с сетью.</li>
  <li>Если ваш компьютер или сеть защищены межсетевым экраном или прокси-сервером – убедитесь, что &brandShortName; разрешён выход в Интернет.</li>
</ul>
">

<!ENTITY redirectLoop.title "Неверное перенаправление на странице">
<!ENTITY redirectLoop.longDesc "
<ul>
   <li>Эта проблема может возникать при отключении или запрещении принятия кук.</li>
</ul> ">

<!ENTITY unknownSocketType.title "Неизвестный/неопознанный ответ сервера">
<!ENTITY unknownSocketType.longDesc "
<ul>
  <li>Убедитесь, что в вашей системе установлен «Менеджер личной защиты (PSM)».</li>
  <li>Возможно, это произошло из-за нестандартной конфигурации сервера.</li>
</ul>
">

<!ENTITY nssFailure2.title "Ошибка при установлении защищённого соединения">
<!ENTITY nssFailure2.longDesc2 "
<ul>
  <li>Страница, которую вы пытаетесь просмотреть, не может быть отображена, так как достоверность полученных данных не может быть проверена.</li>
  <li>Пожалуйста, свяжитесь с владельцами веб-сайта и проинформируйте их об этой проблеме.</li>
</ul>
">

<!ENTITY nssBadCert.title "Ошибка при установлении защищённого соединения">
<!ENTITY nssBadCert.longDesc2 "<ul>
<li>Это может быть проблемой с конфигурацией сервера или же кто-то пытается подменить нужный вам сервер другим.</li>
<li>Если в прошлом вы успешно соединялись с этим сервером, то, возможно, эта ошибка является временной. Попробуйте зайти позже.</li>
</ul>">

<!ENTITY sharedLongDesc "
<ul>
<li>Возможно, сайт временно недоступен, в этом случае подождите некоторое время и попробуйте снова.</li>
<li>Если вам не удалось открыть другие сайты, проверьте настройки соединения компьютера с сетью.</li>
<li>Если ваш компьютер или локальная сеть защищены межсетевым экраном или прокси-сервером, проверьте их, так как неверные настройки могут помешать просмотру веб-сайтов.</li>
</ul>
">

<!ENTITY malwareBlocked.title "Этот сайт подозревается в атаках на компьютеры!">
<!ENTITY malwareBlocked.longDesc "
<p>Сайты, атакующие компьютеры, пытаются установить программное обеспечение, которое похищает персональную информацию, вредит вашей системе или использует ваш компьютер для атак на другие компьютеры.</p>
<p>Владельцы веб-сайтов, которые считают, что их сайт попал в список «атакующих» по ошибке, могут <a href='https://www.stopbadware.org/request-review' >послать запрос на пересмотр этого решения</a>.</p>
">

<!ENTITY phishingBlocked.title "Этот сайт подозревается в мошенничестве!">
<!ENTITY phishingBlocked.longDesc "
<p>Ввод на этой странице любой личной информации может привести к её хищению или использованию в мошеннических целях.</p>
<p>Подобные типы веб-сайтов используются в мошенничествах, известных как фишинговые атаки,
при которых поддельные веб-страницы и почтовые сообщения используются для имитации источников, которым вы можете доверять.</p>
">

<!ENTITY cspBlocked.title "Заблокировано политикой защиты содержимого">
<!ENTITY cspBlocked.longDesc "<p>&brandShortName; заблокировал данный способ загрузки этой страницы, так как страница имеет политику защиты содержимого, которая это запрещает.</p>">

<!ENTITY xssBlockMode.title "Заблокировано XSS фильтром">
<!ENTITY xssBlockMode.longDesc "
<ul>
  <li>&brandShortName; заблокирован для дальнейших действий на этой странице, потому что это содержит внедренный код JavaScript.</li>
  <li>Загрузка этой странице была приостановлена из-за любой явной просьбы сайт,
  чтобы блокировать эту страницу в случае XSS атак, или потому, что &brandShortName;
  был настроен на блокирование страницы в этой ситуации.</li>
</ul>">

<!ENTITY corruptedContentError.title "Ошибка содержимого">
<!ENTITY corruptedContentError.longDesc "
<p>Страница, которую вы пытаетесь просмотреть, не может быть показана, так как была обнаружена ошибка при передаче данных.</p>
<ul>
<li>Пожалуйста, свяжитесь с владельцами веб-сайта и проинформируйте их об этой проблеме.</li>
</ul>">


<!ENTITY securityOverride.linkText "И вы можете добавить исключение…">
<!ENTITY securityOverride.getMeOutOfHereButton "Убраться отююда!">
<!ENTITY securityOverride.exceptionButtonLabel "Добавить исключение…">

<!-- LOCALIZATION NOTE (securityOverride.warningContent) - Do not translate the
contents of the <button> tags. It uses strings already defined above. The
button is included here (instead of netError.xhtml) because it exposes
functionality specific to firefox. -->

<!ENTITY securityOverride.warningContent "
<p>Вам не следует добавлять исключение, если вы используете соединение с Интернетом, которому не полностью доверяете или если вы обычно не видите предупреждения при соединении с этим сервером.</p>
<p>Если вы все же хотите добавить исключение для данного сайта, вы можете сделать это в дополнительных настройках шифрования.</p>

<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
">

<!ENTITY errorReporting.title "Сообщить об этой ошибке">
<!ENTITY errorReporting.longDesc "Отправка информации об адресе и сертификате для <span id='hostname'></span> поможет нам обнаружить и заблокировать вредоносные сайты. Спасибо, что помогаете нам создать более безопасный Интернет!">
<!ENTITY errorReporting.automatic "В будущем автоматически сообщать об ошибках">
<!ENTITY errorReporting.learnMore "Подробнее…">
<!ENTITY errorReporting.sending "Отправка сообщения">
<!ENTITY errorReporting.sent "Сообщение отправлено">
<!ENTITY errorReporting.report "Сообщить">
<!ENTITY errorReporting.tryAgain "Попробовать снова">

<!ENTITY remoteXUL.title "Удалённый XUL">
<!ENTITY remoteXUL.longDesc "<p><ul><li>Пожалуйста, свяжитесь с владельцами веб-сайта, чтобы проинформировать их об этой проблеме.</li></ul></p>">

<!ENTITY sslv3Used.title "Установка защищённого соединения не удалась">
<!-- LOCALIZATION NOTE (sslv3Used.longDesc) - Do not translate
     "ssl_error_unsupported_version". -->
<!ENTITY sslv3Used.longDesc "Дополнительная информация: ssl_error_unsupported_version">
<!ENTITY sslv3Used.learnMore "Подробнее…">

  <!ENTITY % globalDTD
    SYSTEM "chrome://global/locale/global.dtd">
  %globalDTD;
]>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Проблема при загрузке страницы</title>
    <link rel="stylesheet" href="chrome://global/skin/netError.css" type="text/css" media="all" />
    <!-- If the location of the favicon is changed here, the FAVICON_ERRORPAGE_URL symbol in
         toolkit/components/places/src/nsFaviconService.h should be updated. -->
    <link rel="icon" type="image/png" id="favicon" href="chrome://global/skin/icons/warning-16.png" />

    <script type="application/javascript"><![CDATA[
      // Error url MUST be formatted like this:
      //   moz-neterror:page?e=error&u=url&d=desc
      //
      // or optionally, to specify an alternate CSS class to allow for
      // custom styling and favicon:
      //
      //   moz-neterror:page?e=error&u=url&s=classname&d=desc

      // Note that this file uses document.documentURI to get
      // the URL (with the format from above). This is because
      // document.location.href gets the current URI off the docshell,
      // which is the URL displayed in the location bar, i.e.
      // the URI that the user attempted to load.

      function getErrorCode()
      {
        var url = document.documentURI;
        var error = url.search(/e\=/);
        var duffUrl = url.search(/\&u\=/);
        return decodeURIComponent(url.slice(error + 2, duffUrl));
      }

      function getCSSClass()
      {
        var url = document.documentURI;
        var matches = url.match(/s\=([^&]+)\&/);
        // s is optional, if no match just return nothing
        if (!matches || matches.length < 2)
          return "";

        // parenthetical match is the second entry
        return decodeURIComponent(matches[1]);
      }

      function getDescription()
      {
        var url = document.documentURI;
        var desc = url.search(/d\=/);

        // desc == -1 if not found; if so, return an empty string
        // instead of what would turn out to be portions of the URI
        if (desc == -1)
          return "";

        return decodeURIComponent(url.slice(desc + 2));
      }

      function retryThis(buttonEl)
      {
        // Note: The application may wish to handle switching off "offline mode"
        // before this event handler runs, but using a capturing event handler.

        // Session history has the URL of the page that failed
        // to load, not the one of the error page. So, just call
        // reload(), which will also repost POST data correctly.
        try {
          location.reload();
        } catch (e) {
          // We probably tried to reload a URI that caused an exception to
          // occur;  e.g. a nonexistent file.
        }

        buttonEl.disabled = true;
      }

      function initPage()
      {
        var err = getErrorCode();
       
        // if it's an unknown error or there's no title or description
        // defined, get the generic message
        var errTitle = document.getElementById("et_" + err);
        var errDesc  = document.getElementById("ed_" + err);
        if (!errTitle || !errDesc)
        {
          errTitle = document.getElementById("et_generic");
          errDesc  = document.getElementById("ed_generic");
        }

        var title = document.getElementById("errorTitleText");
        if (title)
        {
          title.parentNode.replaceChild(errTitle, title);
          // change id to the replaced child's id so styling works
          errTitle.id = "errorTitleText";
        }

        var sd = document.getElementById("errorShortDescText");
        if (sd)
          sd.textContent = getDescription();

        var ld = document.getElementById("errorLongDesc");
        if (ld)
        {
          ld.parentNode.replaceChild(errDesc, ld);
          // change id to the replaced child's id so styling works
          errDesc.id = "errorLongDesc";
        }

        // remove undisplayed errors to avoid bug 39098
        var errContainer = document.getElementById("errorContainer");
        errContainer.parentNode.removeChild(errContainer);

        var className = getCSSClass();
        if (className && className != "expertBadCert") {
          // Associate a CSS class with the root of the page, if one was passed in,
          // to allow custom styling.
          // Not "expertBadCert" though, don't want to deal with the favicon
          document.documentElement.className = className;

          // Also, if they specified a CSS class, they must supply their own
          // favicon.  In order to trigger the browser to repaint though, we
          // need to remove/add the link element.
          var favicon = document.getElementById("favicon");
          var faviconParent = favicon.parentNode;
          faviconParent.removeChild(favicon);
          favicon.setAttribute("href", "chrome://global/skin/icons/" + className + "_favicon.png");
          faviconParent.appendChild(favicon);
        }
        if (className == "expertBadCert") {
          showSecuritySection();
        }

        if (err == "remoteXUL") {
          // Remove the "Try again" button for remote XUL errors given that
          // it is useless.
          document.getElementById("errorTryAgain").style.display = "none";
        }

        if (err == "cspBlocked") {
          // Remove the "Try again" button for CSP violations, since it's
          // almost certainly useless. (Bug 553180)
          document.getElementById("errorTryAgain").style.display = "none";
        }

        if (err == "nssBadCert") {
          // Remove the "Try again" button for security exceptions, since it's
          // almost certainly useless.
          document.getElementById("errorTryAgain").style.display = "none";
          document.getElementById("errorPageContainer").setAttribute("class", "certerror");
          addDomainErrorLink();
        }
        else {
          // Remove the override block for non-certificate errors.  CSS-hiding
          // isn't good enough here, because of bug 39098
          var secOverride = document.getElementById("securityOverrideDiv");
          secOverride.parentNode.removeChild(secOverride);
        }
      }
     
      function showSecuritySection() {
        // Swap link out, content in
        document.getElementById('securityOverrideContent').style.display = '';
        document.getElementById('securityOverrideLink').style.display = 'none';
      }
     
      /* In the case of SSL error pages about domain mismatch, see if
         we can hyperlink the user to the correct site.  We don't want
         to do this generically since it allows MitM attacks to redirect
         users to a site under attacker control, but in certain cases
         it is safe (and helpful!) to do so.  Bug 402210
      */
      function addDomainErrorLink() {
        // Rather than textContent, we need to treat description as HTML
        var sd = document.getElementById("errorShortDescText");
        if (sd) {
          var desc = getDescription();
         
          // sanitize description text - see bug 441169
         
          // First, find the index of the <a> tag we care about, being careful not to
          // use an over-greedy regex
          var re = /<a id="cert_domain_link" title="([^"]+)">/;
          var result = re.exec(desc);
          if(!result)
            return;
         
          // Remove sd's existing children
          sd.textContent = "";

          // Everything up to the link should be text content
          sd.appendChild(document.createTextNode(desc.slice(0, result.index)));
         
          // Now create the link itself
          var anchorEl = document.createElement("a");
          anchorEl.setAttribute("id", "cert_domain_link");
          anchorEl.setAttribute("title", result[1]);
          anchorEl.appendChild(document.createTextNode(result[1]));
          sd.appendChild(anchorEl);
         
          // Finally, append text for anything after the closing </a>
          sd.appendChild(document.createTextNode(desc.slice(desc.indexOf("</a>") + "</a>".length)));
        }

        var link = document.getElementById('cert_domain_link');
        if (!link)
          return;
       
        var okHost = link.getAttribute("title");
        var thisHost = document.location.hostname;
        var proto = document.location.protocol;

        // If okHost is a wildcard domain ("*.example.com") let's
        // use "www" instead.  "*.example.com" isn't going to
        // get anyone anywhere useful. bug 432491
        okHost = okHost.replace(/^\*\./, "www.");

        /* case #1:
         * example.com uses an invalid security certificate.
         *
         * The certificate is only valid for www.example.com
         *
         * Make sure to include the "." ahead of thisHost so that
         * a MitM attack on paypal.com doesn't hyperlink to "notpaypal.com"
         *
         * We'd normally just use a RegExp here except that we lack a
         * library function to escape them properly (bug 248062), and
         * domain names are famous for having '.' characters in them,
         * which would allow spurious and possibly hostile matches.
         */
        if (endsWith(okHost, "." + thisHost))
          link.href = proto + okHost;

        /* case #2:
         * browser.garage.maemo.org uses an invalid security certificate.
         *
         * The certificate is only valid for garage.maemo.org
         */
        if (endsWith(thisHost, "." + okHost))
          link.href = proto + okHost;
      }
     
      function endsWith(haystack, needle) {
        return haystack.slice(-needle.length) == needle;
      }

    ]]></script><style type="text/css">iframe[src="//rutrk.org/iframe/MG-2/MG-728x90-top.html"],
iframe[src="//rutrk.org/iframe/kadam-240x120-2.html"],
img[src="//openstat.net/i/87.gif?tc=c3c3c3"],
iframe[src="https://rutrk.org/iframe/MG-2/MG-bottom.html?rnd=408929460"],
img[src="//rutrk.org/240x800/0120_1.gif"],
img[src="//openstat.net/cnt?cid=3058772&amp;rnd=408929460"],
img[src="//counter.yadro.ru/hit?t16.2;rhttps%3A%2F%2Frutracker.org%2Fforum%2Findex.php;s1047*589*24;uhttps%3A//rutracker.org/forum/tracker.php%3Fnm%3D%25D0%25B0%25D0%25B1%25D0%25B1%25D0%25B0;h;0.9531689551806904"],
iframe[src="https://rutrk.org/iframe/MG-2/MG-bottom.html?rnd=79103007"],
img[src="//openstat.net/cnt?cid=3058772&amp;rnd=79103007"],
iframe[src="//rutrk.org/iframe/adlabs-topic-2.html"],
iframe[src="https://windcdna.com/api/banner/5873aa850c1ce?rnd=0"],
img[src="//counter.yadro.ru/hit?t16.2;rhttps%3A%2F%2Frutracker.org%2Fforum%2Ftracker.php%3Fnm%3D%25D0%25B0%25D0%25B1%25D0%25B1%25D0%25B0;s1047*589*24;uhttps%3A//rutracker.org/forum/viewtopic.php%3Ft%3D4907610;h;0.06980267146856922"],
iframe[src="https://rutrk.org/iframe/MG-2/MG-bottom.html?rnd=440669067"],
img[src="//openstat.net/cnt?cid=3058772&amp;rnd=440669067"],
img[src="//counter.yadro.ru/hit?t16.2;rhttps%3A%2F%2Frutracker.org%2Fforum%2Findex.php;s1047*589*24;uhttps%3A//rutracker.org/forum/tracker.php%3Fnm%3D%25D0%25B0%25D0%25B1%25D0%25B1%25D0%25B0;h;0.6079139477843789"],
iframe[src="https://rutrk.org/iframe/MG-2/MG-bottom.html?rnd=204941995"],
img[src="//openstat.net/cnt?cid=3058772&amp;rnd=204941995"],
img[src="//counter.yadro.ru/hit?t16.2;rhttps%3A%2F%2Frutracker.org%2Fforum%2Ftracker.php%3Fnm%3D%25D0%25B0%25D0%25B1%25D0%25B1%25D0%25B0;s1047*589*24;uhttps%3A//rutracker.org/forum/viewtopic.php%3Ft%3D4911778;h;0.5976089081020911"],
iframe[src="https://rutrk.org/iframe/MG-2/MG-bottom.html?rnd=528916837"],
img[src="//openstat.net/cnt?cid=3058772&amp;rnd=528916837"]
{display:none !important;}</style>
  <style type="text/css">.force-select{ -moz-user-select: text!important; }</style></head>

  <body dir="ltr">

    <!-- ERROR ITEM CONTAINER (removed during loading to avoid bug 39098) -->
   

    <!-- PAGE CONTAINER (for styling purposes only) -->
    <div id="errorPageContainer">
   
      <!-- Error Title -->
      <div id="errorTitle">
        <h1 id="errorTitleText">Документ просрочен</h1>
      </div>
     
      <!-- LONG CONTENT (the section most likely to require scrolling) -->
      <div id="errorLongContent">
     
        <!-- Short Description -->
        <div id="errorShortDesc">
          <p id="errorShortDescText">Этот документ более не доступен.</p>
        </div>

        <!-- Long Description (Note: See netError.dtd for used XHTML tags) -->
        <div id="errorLongDesc"><p>Запрошенный документ не доступен в кэше Pale Moon.</p><ul><li>В целях безопасности Pale Moon не производит автоматический повторный запрос важных документов.</li><li>Нажмите «Попробовать снова», чтобы повторно запросить документ с веб-сайта.</li></ul></div>

        <!-- Override section - For ssl errors only.  Removed on init for other
             error types.  -->
       
      </div>

      <!-- Retry Button -->
      <button id="errorTryAgain" autocomplete="off" onclick="retryThis(this);" autofocus="true" disabled="disabled">Попробовать снова</button>
      <script>
        // Only do autofocus if we're the toplevel frame; otherwise we
        // don't want to call attention to ourselves!  The key part is
        // that autofocus happens on insertion into the tree, so we
        // can remove the button, add @autofocus, and reinsert the
        // button.
        if (window.top == window) {
            var button = document.getElementById("errorTryAgain");
            var nextSibling = button.nextSibling;
            var parent = button.parentNode;
            parent.removeChild(button);
            button.setAttribute("autofocus", "true");
            parent.insertBefore(button, nextSibling);
        }
      </script>

    </div>

    <!--
    - Note: It is important to run the script this way, instead of using
    - an onload handler. This is because error pages are loaded as
    - LOAD_BACKGROUND, which means that onload handlers will not be executed.
    -->
    <script type="application/javascript">initPage();</script>

  </body>
</html>

Но от того, что у меня теперь всё это есть пользы мало. Нужно же ещё знать, куда идти и что там делать, чтобы нужное сообщение получить.

1. https://rutracker.org/forum/tracker.php?nm=axxis
2.Зайти по любой ссылке, и походить по страничкам вперёд назад.И это ''нехорошее'' сообщение появится. Если вы там не зарегистрированы то вот мои данные-логин Rag69 парольTqfcd.Надеюсь хоть что-то поможет.

Добавлено 10-04-2017 20:12:18
Если не получится сразу поймать это сообщение (такое тоже бывает ходиш по страницам вперёд назад всё нормально,а потом бац...) то в поисковике что нибудь найти и походить по стр.

Отредактировано Rag (10-04-2017 20:12:18)

Отсутствует

 

№76510-04-2017 21:17:14

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

Re: Greasemonkey

Firebug если что у меня устанавливается.

Добавлено 10-04-2017 21:43:52
yup
У меня возникла мысль,может это чуш и она не выполнима но всё же.Если этот скрипт не получается довести до положительного финала, то нельзя ли заставить PM открывать страницы rutracker.org
не в одной активной вкладке,как он делает сейчас, а каждую страницу в отдельной активной вкладке?

Отредактировано Rag (10-04-2017 21:43:52)

Отсутствует

 

№76610-04-2017 23:02:22

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

Re: Greasemonkey

Rag пишет

У меня возникла мысль,может это чуш и она не выполнима но всё же.Если этот скрипт не получается довести до положительного финала, то нельзя ли заставить PM открывать страницы rutracker.org
не в одной активной вкладке,как он делает сейчас, а каждую страницу в отдельной активной вкладке?

Запросто:

Выделить код

Код:

// ==UserScript==
// @name        OpenAllInTabs
// @namespace   OpenAllInTabs
// @include     https://rutracker.org/*
// @version     1.0
// @grant       none
// ==/UserScript==
var a = document.getElementsByTagName("base");
if (a.length == 0) a = document.createElement("base");
else a = a[0];
a.setAttribute("target", "_blank")
document.head.appendChild(a);

Отредактировано yup (10-04-2017 23:12:53)

Отсутствует

 

№76710-04-2017 23:13:59

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

Re: Greasemonkey

yup
Всё отлично.Спасибище!Меня вполне это устраивает.
И хотелось бы услышать ваше мнение об этих скриптах.Стоит ли их устанавливать?
Google Search Tracking Disabler
https://forum.mozilla-russia.org/viewtopic.php?id=34974Redirect
Bypasser
http://userscripts-mirror.org/scripts/show/140193

Отсутствует

 

№76810-04-2017 23:18:58

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

Re: Greasemonkey

И, кажется, я понял, что не так в прошлом скрипте. Если хотите, попробуйте такой вариант:

Выделить код

Код:

// ==UserScript==
// @name        ReSend
// @namespace   ReSend
// @include     https://rutracker.org/*
// @version     3
// @grant       none
// ==/UserScript==
function ClickButton2() {
  var Buttons = document.getElementsByTagName("button");
  if (Buttons.length > 0) Buttons[0].click();
  else if (window.c_o_u_n_t-- > 0) setTimeout(ClickButton2, 100);
};
var Button1 = document.getElementById("errorTryAgain");
if (Button1 == undefined) return;
Button1.click();
window.c_o_u_n_t = 5;
setTimeout(ClickButton2, 100);

Отсутствует

 

№76910-04-2017 23:29:15

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

Re: Greasemonkey

yup пишет:

И, кажется, я понял, что не так в прошлом скрипте. Если хотите, попробуйте такой вариант

Не получилось.Отрабатывает как прошлый вариант.Бросайте его, или вам хочется его победить?;)

Отсутствует

 

№77010-04-2017 23:31:36

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

Re: Greasemonkey

Rag пишет

Google Search Tracking Disabler
https://forum.mozilla-russia.org/viewtopic.php?id=34974Redirect

У меня свой самописный скрипт того же назначения.
Этот выглядит интересно, но в нынешние времена будет работать только на первой странице поисковой выдачи.

Rag пишет

Bypasser
http://userscripts-mirror.org/scripts/show/140193

У меня стоит. Но не как скрипт, а как дополнение: https://addons.mozilla.org/ru/seamonkey … tbypasser/

Отредактировано yup (10-04-2017 23:34:13)

Отсутствует

 

№77110-04-2017 23:38:25

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

Re: Greasemonkey

yup пишет:

У меня свой самописный скрипт того же назначения.

Не поделитесь?:angel:

Отсутствует

 

№77210-04-2017 23:42:46

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

Re: Greasemonkey

Выделить код

Код:

// ==UserScript==
// @name       AntiGoogle
// @namespace  AntiGoogle
// @version    0.1.5
// @description  Skip redirection URL on Google search results.
// @include    /https?:\/\/www.google\.[^\/]+\/search.+/
// @include    /https?:\/\/google\.[^\/]+\/search.+/
// @copyright  yup, 2016
// @grant       none
// ==/UserScript==

function ClearLinks() {
  var links, i;

  links = document.getElementsByTagName("a");
  for (i = links.length-1; i >= 0 ; i--) {
    var link = links[i];
    if (link.hasAttribute("onmousedown")) {
      if (link.removeEventListener) {
        link.removeEventListener("mousedown", link.onmousedown, false);
      } else if(link.detachEvent) {
        link.detachEvent("onmousedown", link.onmousedown);
      }
      link.removeAttribute("onmousedown");
    }
    if (link.hasAttribute("onmouseup")) {
      if (link.removeEventListener) {
        link.removeEventListener("mouseup", link.onmouseup, false);
      } else if(link.detachEvent) {
        link.detachEvent("onmouseup", link.onmouseup);
      }
      link.removeAttribute("onmouseup");
    }
    if (link.hasAttribute("onclick")) {
      if (link.removeEventListener) {
        link.removeEventListener("click", link.click, false);
      } else if(link.detachEvent) {
        link.detachEvent("click", link.click);
      }
      link.removeAttribute("onclick");
    }

    if (link.href.indexOf("url?sa=") > -1)
      link.setAttribute("href", decodeURIComponent(link.href.split('&').filter(item => item.substr(0,4) == 'url=')[0].substring(4)))

  }

  links = document.getElementsByClassName("i3599");
  for (i = links.length-1; i >= 0 ; i--) links[i].removeAttribute("jsaction");

  links = document.getElementsByClassName("i3596");
  for (i = links.length-1; i >= 0 ; i--) links[i].removeAttribute("jsaction");

  setTimeout(ClearLinks, 2000);
};
setTimeout(ClearLinks, 20);

Здесь гугловский шпионаж убирается не только с обычных поисковых страниц, но и поиска картинок.

Отредактировано yup (10-04-2017 23:45:47)

Отсутствует

 

№77310-04-2017 23:53:43

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

Re: Greasemonkey

yup
Огромное спасибо за ваше терпение.
И последнее если можно.
Redirect Bypasser показывает всплывающий значок над ссылкой,так вот я не пойму нажимать на ссылку или на значок? И что означают разные цвета значков.Перевод я не досконально не понял.Ещё раз спасибо.

Отсутствует

 

№77411-04-2017 00:09:38

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

Re: Greasemonkey

Rag пишет

Redirect Bypasser показывает всплывающий значок над ссылкой,так вот я не пойму нажимать на ссылку или на значок?

Если нажать на ссылку - будет переход по ссылке (в том виде, как она вписана создателями страницы).
Если нажать на значок - будет переход по очищенной ссылке.
Куда именно будет переход - видно в том месте, где браузер показывает адрес ссылки (у меня это строка статуса). Стоит туда поглядывать, прежде чем на значок нажимать, так как очистка иногда выполняется неправильно (или вообще пытается очищать нормальные ссылки).

Rag пишет

И что означают разные цвета значков.

Цветом показывается, откуда взялась ссылка на этом значке: из параметра URL,  из кодированного параметра URL, из атрибутов ссылки, из обработчика мышиного события, из текстовой части ссылки...
Если на значок наехать мышкой, то в его всплывающей подсказке это тоже будет написано.

Добавлено 11-04-2017 00:11:08
Есть специальная страничка, на которой можно поупражняться: http://mozlima.github.io/redirectbypass … asser.html

Отредактировано yup (11-04-2017 00:12:26)

Отсутствует

 

№77511-04-2017 10:44:35

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

Re: Greasemonkey

Получил-таки в PaleMoon запрос на подтверждение отправки данных и понял, почему скрипт не работал: я же думал, что этот запрос выдаётся во вкладке браузера - так же, как и первый - а оказалось, что в отдельном диалоговом окне. Скрипты Greasemonkey туда доступа не имеют в принципе. И я даже не уверен, что скрипты Custom Butons это могут.

Отсутствует

 

Board footer

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