Имеется сайт одной государственной конторы, сверстанный крайне коряво, много лет назад, но по неким причинам до сих пор работающий=) Возможно ли средствами гризманки или какого-либо другого дополнения сделать примерно следующее: в хмтл коде страницы имеется кусочек вида

Выделить код

Код:

onclick="$('#free_all').load('resultofday.php?id=семь_нужных_цифр'); $('#free_all').toggle('normal');

Требуется вывести где-нибудь вверху страницы ссылку на страницу www.blablabla.ru/results/семь_нужных_цифр.csv

На первый взгляд не вижу никаких проблем.

Да вообще никаких проблем не должно быть - субж именно для на такие задачи и рассчитан.

ок, тогда следующий логичный вопрос: как эту строчку выпарсить?

Если я правильно понял - надо написать скрипт, который это будет делать например сразу после загрузки.

Например можно скачать Dive Into Greasemonkey. Там в 4.10 есть пример замены.

п.с.: почему-то думал, что он может работать как фильтр - оказывается напрямую нет

За ссылку спасибо.
У меня, правда, все намного хуже - у кнопки, к которой этот онклик привязан,нет ни имени, ни id =(
Пойду ломать мозг дальше =)

А окружение кнопки тоже безымянно?
Опять же это же серия методов, которые позволяют выбирать по имени, айди и прочим вещам - мб какой-то из них подойдёт?

Forest пишет

А окружение кнопки тоже безымянно?
Опять же это же серия методов, которые позволяют выбирать по имени, айди и прочим вещам - мб какой-то из них подойдёт?

Вот такое вот у нее окружение. Нигде там ни id, ни имени нету =(

Выделить код

Код:

<h3><p class="real"><label><input type="button" value="Всего за сегодня" onclick="$('#free_all').load('resultofday.php?id=семь_нужных_цифр'); $('#free_all').toggle('normal');"></label></p></h3>

ЗЫ Эта кусок электронной системы документооборота, если что =) Она просто жутко уродская, человек, который ее разрабатывал, пропал без вести (в прямом смысле этого слова), не оставив ни логина, ни пароля от сервера, который выключать под угрозой жестокой смерти нельзя и я ее по мере сил и гризманки довожу до вменяемого состояния =)

Ну тут есть варианты:
Можно попробовать найти метод вроде getElementsbyValue (не уверен, что есть - навскидку не нашёл).
Можно просто выбрать все input и проверить их value перебором.
Можно найти все h3, отобрать те, в которых есть p, в которых есть label, в которых есть input.

Похоже, что там подключена библиотека jQuery, а она умеет искать элементы по атрибутам. Что-то типа такого:

Выделить код

Код:

$("input[type='button'][value='Всего за сегодня']")

Должно вернуть нужный элемент. Взять у него атрибут onclick и выдрать нужные цифры оставляю в качестве ДЗ.

Все, более менее разобрался, всем спасибо, пойду кодить =)

Не буду плодить новых тем, ибо нашлась подходящая. Имеется форум на SMF 2.0 Beta 4 (к примеру, http://www.zgtk.ru/smf/index.php). Есть 2 задачи.
1. Скрыть в списке форумов некоторые форумы.
2. Скрыть сообщения, написанные конкретными юзерами (а в идеале и цитаты с их сообщениями).
Возможно ли, и если да, то как? И если да, то сильно ли будет отличаться скрипт для форумов на разных движках?

Спасибо.

Up. Не верю, что это невозможно (тем более что где-то встречал, что работающий вариант как минимум второго вопроса существует).
Пожалуйста!

Eggorka
Конечно всё возможно.
Надо найти эти нежелательные фрагменты (выше писалось примерно как это можно сделать) и обернуть например в невидимый div (если можно удалить - просто удалить).
Детали могут сильно зависеть от самой страницы.
Самому такое писать как-то не приходилось, так что готового примера нет.

Forest Спасибо за ответ. Вообще, где-нибудь можно почитать про то, как создавать подобные скрипты, с примерами для чайников? Крайне желательно по-русски. Пытался гуглить, ничего вразумительного не нарыл :(

Eggorka
Наверное проще всего взять Dive Into Greasemonkey (ссылка есть в начале темы (4-й пост)) - там мб даже и примеров из 4-го раздела хватит.
Есть ещё и офсайт Мозиллы, и там даже часть переведена, но небольшая + надо ещё смотреть, что работает в субже, а что нет.
А вообще хороших русский ресурсов на эту тему мало, но со словарём и по примерчикам как правило можно без проблем осилить и английские (а заодно и язык подучить).

Forest
Большое спасибо. Спасение утопающих -- дело рук самих утопающих.

Здравствуйте. Подскажите возможен ли скрипт, умеющию делать такие вещи:
1. Перемещаться по вкладкам firefox.
2. Вызывать событие submit для форму на каждой вкладке. Форма везде одна и та же.

2-ой пункт я реализовал в кач-ве скрипта для greasemonkey:

Выделить код

Код:

// ==UserScript==
// @name          GoButtonsClick
// @namespace     http://diveintogreasemonkey.org/download/
// @description   clicking on all "Go" Buttons
// @include       *
// @exclude       http://diveintogreasemonkey.org/*
// @exclude       http://www.diveintogreasemonkey.org/*
// ==/UserScript==
window.go = {
  handler: function(e)
  { 
    if(!e.altKey) return true;
    if(e.keyCode!=71) return true;
     window.go.runScript();
    return false;
  },
  init: function(){
   window.addEventListener('keydown',window.go.handler,false);
  },
  runScript: function()
  {
  document.forms[0].submit();
  }
  };
window.go.init();

В результате при нажатии Alt + G выполняется submit(). Теперь хочу сделать тоже самое, но чтобы выполнялось sumbit() для всех открытых вкладок. Проблема в том, что не могу сообразить, как мне с помощью скрипта переключаться между вкладками. Если не возможно с помощью скрипта, то можно ли сделать это как-нибудь по-другому?

Заранее спасибо за помощь.

С помощью скрипта нельзя, можно с помощью расширения.

(Можно с помощью скрипта только в том случае, если все табы через него открыты.)

(Можно с помощью скрипта только в том случае, если все табы через него открыты.)

Табы открываются тоже через скрипт по ALT + E c помощью window.open. Можно ли получить ссылку на массив открытых табов?

ksfinks пишет

(Можно с помощью скрипта только в том случае, если все табы через него открыты.)

Табы открываются тоже через скрипт по ALT + E c помощью window.open. Можно ли получить ссылку на массив открытых табов?

Выделить код

Код:

var myWindows = Array();
myWindows.push(window.open(someUrl));