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

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

№20111-05-2011 23:41:56

bodrox
Новичог
 
Группа: Members
Зарегистрирован: 21-06-2005
Сообщений: 138
UA: Firefox 4.0

Re: Greasemonkey

Подскажите, есть ли скрипт, форматирующий номера сотовых операторов в формате 89********* в удобный вид, например, +7(9**)***-**-** ?
у нас на форумах стоит скрипт, автоматически форматирующий номера в неудобный вид (для поиска - ipb :(). Сам написать не могу — не разбираюсь в регэкспах, да и как поделить цельный номер в куски — тоже без понятия.

Отсутствует

 

№20212-05-2011 00:37:15

bodrox
Новичог
 
Группа: Members
Зарегистрирован: 21-06-2005
Сообщений: 138
UA: Firefox 4.0

Re: Greasemonkey

Однако, сварганил. Имеет смысл выкладывать его на usercripts или здесь ввиду его (скрипта) топорности и узконаправленности?

Отредактировано bodrox (12-05-2011 00:42:54)

Отсутствует

 

№20312-05-2011 03:16:07

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Nightly 6.0

Re: Greasemonkey

bodrox
да выложите на userscripts.org только название и описание на английском нормальное сделайте - вдруг кому пригодится.


mzfx

Отсутствует

 

№20412-05-2011 21:27:28

bodrox
Новичог
 
Группа: Members
Зарегистрирован: 21-06-2005
Сообщений: 138
UA: Firefox 4.0

Re: Greasemonkey

не, уж лучше только тут. с английским плохо. да и выкладывать стыдновато такой костыль :).

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

Выделить код

Код:

// ==UserScript==
// @name    phonenumber-линкификатор
// @version    1.0
// @namespace    http://userscripts.org/scripts/show/88068
// @include     http://*
// @exclude    http://acid3.acidtests.org/*
// ==/UserScript==

document.addEventListener('DOMContentLoaded',function(){
// Регэксп для телефонов - первые два общие, последний для слитных номеров в РФ 
// надеюсь никто не смотрит странички про сложение 11 значных чисел и текстовые url с +№ в них? :)
const numberRegex = /(\+?\d{1,3}[\s\-]*\(\s*\d{2,4}\s*\)([\s\-]*\d{2,4}){2,3})|(\+?\d{0,3}[\s\(]+\d{2,3}[\s\)]+((\d{2,3}\-\d{2}\-\d{2})|(\d{2,3}\-\d{4})))|((\+7|^8)[\s\-\(]{0,2}\d{3}[\)\s\-]{0,2}\d{2,3}\-?\d{2}-?\d{2})/g;

function phonenumberformat(t) {
    // Замена номера 89********* в удобный вид +7(9**)***-**-**
    var fixedNum;
    fixedNum = '+7(' + String(t).charAt(1) + String(t).charAt(2) + String(t).charAt(3) + ')'
                 + String(t).charAt(4) + String(t).charAt(5) + String(t).charAt(6) + '-'
                 + String(t).charAt(7) + String(t).charAt(8) + '-'
                 + String(t).charAt(9) + String(t).charAt(10);
    return fixedNum;
}

// теги, в содержимом которых может быть номер телефона
var allowedParents = [ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big', 'blockquote', 'body', 'caption', 'center', 'cite', 'dd', 'del', 'div', 'dfn', 'dt', 'em', 'fieldset', 'font', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'i', 'iframe', 'ins', 'kdb', 'li', 'nobr', 'object', 'pre', 'p', 'q', 'samp', 'small', 'span', 'strike', 's', 'strong', 'sub', 'sup', 'td', 'th', 'tt', 'u', 'var' ];

// иконка phonenumber
var phonenumberImage = 'data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN2obAjRmU0R06BeDvDn2AEAAAAAAAAAALpnAP8AAAAAumcA/wAAAAAAAAAAumcA/7pnAP8AAAAAAAAAAM+MPwq1eTJOxoY0PM+MOhO8oG0EAAAAAAAAAAC6ZwD/AAAAALpnAP8AAAAAumcA/wAAAAAAAAAAAAAAANupbgXKhDOlu3sw/7F0Le/Tl1Bs0JBICAAAAAAAAAAAumcA/7pnAP+6ZwD/AAAAALpnAP8AAAAAAAAAAAAAAADYoWFjtXYt/dGRRv+7ey//sXQs+9GPQmLOijwBAAAAALpnAP8AAAAAumcA/wAAAAC6ZwD/AAAAAAAAAAAAAAAAzoo6xLJ0Lf/KhDP+0ZFH/ciDMv+aZSfi0I5CEgAAAAC6ZwD/AAAAALpnAP8AAAAAAAAAALpnAP+6ZwD/AAAAAMqEM9zAfTD/r3Is/8J/Mf/KhDP/uHguw9qnbA369e0CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADNiDfCzYc2/8WBMf+rcCv6iFkindKTSRwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0pNKS8qEM+3QjkH/zYc24rN1LTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADRkUZXyoQz9dCOQf/RkUfH3KRrIJh1AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANadWmzNhzb9zoo6/9COQsjYnVwpwIBQAwAAAAAAAAAArXErFKdtKmLCfzFCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1JlUf86KOv/Oijv/zYo60s+PQz8AAAAAAAAAAMJ/MZqzdS35uHgu7c2GNKbjvI4bAAAAAAAAAAAAAAAAAAAAAN+zfwHQj0KFzos7/s2KO//LhDLl0ZBEUtSZVBPKhDPbzoo8/7h4Lv+wcyz/zoo8twAAAAAAAAAAAAAAAAAAAAAAAAAA26lvAdGPRIHOizv60pJI/86KOvS6ei/OnWYn9dCOQv/QjkL9yoQz/rV2Lf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA05ZPZM6JOenSlEz/05VO/8J/Mf+obir+zoo6/dGRRv+4eC7+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIgzI30I5CqM6KOv/Tlk//z4w//7h4Lv+obir6xYExdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANCPRAq3eC5EtXYti7h4LqywcyyRpWwpPgAAAAAAAAAAw1kAAINXAAADFwAAAVcAAAFZAAAA/wAAA/8AAAf/AACB/wAAwMcAAODBAADgAQAA8AEAAPwBAAD+AQAA/wMAAA==';

var xpath = '//text()[(parent::' + allowedParents.join(' or parent::') + ')]';
var candidates = document.evaluate(xpath, document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

for (var cnd = null, i = 0; (cnd = candidates.snapshotItem(i)); i++) {
    if (numberRegex.test(cnd.nodeValue)) {
        var span = document.createElement('span');
        var source = cnd.nodeValue;
        
        cnd.parentNode.replaceChild(span, cnd);
    
        numberRegex.lastIndex = 0;
        for (var match = null, lastLastIndex = 0; (match = numberRegex.exec(source)); ) {
            span.appendChild(document.createTextNode(source.substring(lastLastIndex, match.index)));
            
            var img = document.createElement('img');
            img.setAttribute('alt','phonenumber');
            img.setAttribute('title', 'phonenumber');
            img.setAttribute('style', 'vertical-align:top; margin-right: 4px;');
            img.setAttribute('src', phonenumberImage);

            var a = document.createElement('a');
//            a.setAttribute('style', 'vertical-align:middle;');
            a.appendChild(document.createTextNode(phonenumberformat(match[0])));

            span.appendChild(img);
            span.appendChild(a);
    
            lastLastIndex = numberRegex.lastIndex;
        }
    
        span.appendChild(document.createTextNode(source.substring(lastLastIndex)));
        span.normalize();
    }
}
}, false);

Отсутствует

 

№20524-05-2011 11:35:13

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Firefox 4.0

Re: Greasemonkey

При попытке изменить скрипт, в блокноте открывается пустая страница. Как сделать, что бы открывался скрипт?
eac67bd918bc.jpg

Отсутствует

 

№20625-05-2011 01:49:27

Raf-9600
Участник
 
Группа: Members
Зарегистрирован: 15-05-2007
Сообщений: 560
UA: Firefox 4.0

Re: Greasemonkey

Skarm пишет

стоит ли на лягать на скрипты или одноимённые аддоны юзать?

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

P.S.
По-уму, вобще желательно создать отдельную тему касательно скриптов.


Иногда мне кажется, что лучшие программисты мира и лучшие технические умы работают только над одним - как сделать так, чтоб на новом скоростном железе тормозило также, как на хламе 10 летней давности.
(с)

Отсутствует

 

№20726-05-2011 02:27:53

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 7.0

Re: Greasemonkey

Raf-9600 пишет

Так как темы про Scriprish почему-то до сих пор не создали.....

Raf-9600
Scriptish - менеджер скриптов для Firefox :angel:

Отредактировано Крошка Ру (26-05-2011 02:30:03)

Отсутствует

 

№20826-05-2011 12:24:49

Raf-9600
Участник
 
Группа: Members
Зарегистрирован: 15-05-2007
Сообщений: 560
UA: Firefox 4.0

Re: Greasemonkey

Крошка Ру
Благодарю, перенес сообщение туда.

Отредактировано Raf-9600 (26-05-2011 12:25:48)


Иногда мне кажется, что лучшие программисты мира и лучшие технические умы работают только над одним - как сделать так, чтоб на новом скоростном железе тормозило также, как на хламе 10 летней давности.
(с)

Отсутствует

 

№20918-06-2011 19:40:00

Sergik1
Участник
 
Группа: Members
Откуда: Томск
Зарегистрирован: 09-02-2008
Сообщений: 260
UA: Firefox 5.0

Re: Greasemonkey

Установил сегодня FF 5.0 и GM не подгружает скрипты. Меню аддона доступно, можно покавыряться в настройках, но сами скрипты не работают. Версия GM 0.9.5. Поделитесь рабочей версией.

:::: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0

Отсутствует

 

№21019-06-2011 02:24:02

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 7.0

Re: Greasemonkey

Sergik1 ,всё что могу предложить - попробуйте вместо Greasemonkey Scriptish - менеджер скриптов для Firefox (пост №30 - прямая ссылка на исправленную версию) :)

Отсутствует

 

№21119-06-2011 06:28:34

Sergik1
Участник
 
Группа: Members
Откуда: Томск
Зарегистрирован: 09-02-2008
Сообщений: 260
UA: Firefox 5.0

Re: Greasemonkey

Спасибо за отзыв, но с Scriptish та же ситуация - скрипты не срабатывают, хотя визуально расширение работает, меню открывается, можно включить/выключить скрипт.
:/

Отсутствует

 

№21219-06-2011 07:30:22

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 7.0

Re: Greasemonkey

Sergik1 все скрипты? а у меня в [nightly] 7.0a1 работают :sick: .... или просто скрипты другие :angel:......может только в [firefox] 5.0 так?

Отсутствует

 

№21319-06-2011 09:17:32

Sergik1
Участник
 
Группа: Members
Откуда: Томск
Зарегистрирован: 09-02-2008
Сообщений: 260
UA: Firefox 5.0

Re: Greasemonkey

Да, абсолютно все :(  Попробую сейчас на чистом профиле, но всё равно сомнительно. Ведь 2 отдельных расширения для скриптов такое выдают... позже отпишусь.

П.С. Да, так и есть, на новом профиле тоже скрипты не срабатывают. Похоже скрипты не ассоциируются с адресом страницы для которой они написаны, т.е. не знают, что им нужно в данный момент отработать.

Вот скрины, показан код скрипта, он для страницы Гугла и собственно скрин меню scriptish при открытой странице Гугла. Скрип т не подгружается.

21389251.th.png

28596409.th.png

Отредактировано Sergik1 (19-06-2011 09:40:44)

Отсутствует

 

№21419-06-2011 09:33:26

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Nightly 7.0

Re: Greasemonkey

Sergik1 , у меня из шести установленных:
Google Classic
Google Image Basic
Pure Reader
Google Reader Full Feed Mod
Youtube Prevent Autoplay
только один не работает >
Google Reader Colored
:)

Отредактировано Крошка Ру (19-06-2011 09:33:44)

Отсутствует

 

№21519-06-2011 13:11:02

Sergik1
Участник
 
Группа: Members
Откуда: Томск
Зарегистрирован: 09-02-2008
Сообщений: 260
UA: Firefox 5.0

Re: Greasemonkey

По логу ошибок в консоли на jabber конференции поддержки сказали, что в ФФ 5.0 изменили js движок и теперь некоторые скрипты не будут работать, их нужно допиливать. Дело не в расширениях.

Отсутствует

 

№21620-07-2011 17:39:15

Skorii
Участник
 
Группа: Members
Зарегистрирован: 06-12-2006
Сообщений: 255
UA: Firefox 5.0

Re: Greasemonkey

Подскажите пожалуйста такую штуку.
Есть страница на сайте.
там есть всплывающее окошко, в котором идет информация и кнопка "Обновить".
Можно ли как то сделать, Чтобы эта кнопка автоматом нажималась ну скажем раз в 5-10 секунд.

П.С. Обновление страницы не подходит.

Отсутствует

 

№21720-07-2011 17:43:07

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 688
UA: Firefox 4.0

Re: Greasemonkey

Skorii
Ответ положительный.


леса живет в лису?

Отсутствует

 

№21820-07-2011 18:28:08

Skorii
Участник
 
Группа: Members
Зарегистрирован: 06-12-2006
Сообщений: 255
UA: Firefox 5.0

Re: Greasemonkey

CoolCmd
Подскажите пожалуйста как это сделать.
Какие данные о странице предоставить?
Вот так это выглядит (ссылку на картинку в спойлер засунул)

скрытый текст
http://s2.ipicture.ru/uploads/20110720/Ru42LLMd.jpg

Отсутствует

 

№21907-09-2011 14:57:39

ПротопопулуS
2,4716 THz на каждое из 64-х ядер...
 
Группа: Members
Откуда: Местное я
Зарегистрирован: 16-12-2008
Сообщений: 1515
UA: Firefox 5.0

Re: Greasemonkey

Уважаемые езнатоки JavaScript, помогите решить задачку...
Имеется страница, на ней около сотни div-ов, но автор страницы очень уж исхитрил и создал такой код:

Выделить код

Код:

<div class="obs_confirm" _enab="8">......</div>

Код этот работает, но я что-то никак не соображу как можно отловить в Greasemonkey нужный мне див и сделать по нему click или послать ему onMouseOver. У каждого дива этого класса есть атрибут "_enab="N" ", где N число от 0 до 93. Поскольку не силен в JavaScript, то всю репу уже расчесал себе, в попытках нагуглить хоть что-то.


Продам: совесть, ответственность, вежливость, воспитанность. Недорого.

Отсутствует

 

№22007-09-2011 15:22:58

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 6.0
Веб-сайт

Re: Greasemonkey

document.querySelector("[_enab=8]")

https://developer.mozilla.org/En/DOM/Document.querySelector
https://developer.mozilla.org/en/DOM/document.createEvent#Example

Добавлено 07-09-2011 15:23:55
Впрочем, если на странице подключен jQuery, то всё ещё проще
jQuery('[_enab=8]').click()

Отредактировано Lynn (07-09-2011 15:23:55)


Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№22108-09-2011 15:41:07

ПротопопулуS
2,4716 THz на каждое из 64-х ядер...
 
Группа: Members
Откуда: Местное я
Зарегистрирован: 16-12-2008
Сообщений: 1515
UA: Firefox 5.0

Re: Greasemonkey

Что-то я ничего не понимаю... Весь уже измучился :(
Уже создал тестовую страничку с самым примитивным содержанием, но никак не могу заставить скрипт найти элемент...
Вот страничка:

Выделить код

Код:

<html>
<head>
</head>
<body>
<div id="test-div-id">NO</div>
</body>
</html>

Вот скрипт:

Выделить код

Код:

window.checkdiv = function () {
    ADS = document.getElementById('test-div-id');
    if (ADS != null) {
        alert('Find');
    } else {
        alert('None');
    }
}

checkdiv();

Вообще не выдает алерта... ЧЯДНТ?


Продам: совесть, ответственность, вежливость, воспитанность. Недорого.

Отсутствует

 

№22208-09-2011 17:11:24

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 6.0

Re: Greasemonkey

http://wiki.greasespot.net/Avoid_Common … easemonkey
Для конкретно этого примера:

Выделить код

Код:

function checkdiv() { ... }
checkdiv();

И лучше var ADS = ...

Отредактировано Infocatcher (08-09-2011 17:13:10)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№22308-09-2011 17:53:17

ПротопопулуS
2,4716 THz на каждое из 64-х ядер...
 
Группа: Members
Откуда: Местное я
Зарегистрирован: 16-12-2008
Сообщений: 1515
UA: Firefox 5.0

Re: Greasemonkey

Пробовал так же как Вы советуете - не видит элементов ни в какую. :(


Продам: совесть, ответственность, вежливость, воспитанность. Недорого.

Отсутствует

 

№22429-09-2011 03:45:51

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Nightly 10.0

Re: Greasemonkey

тут у нас новый раздел появился, куда планируется перенести обсуждение скриптов.
так вот в нём сейчас структура такая, что планируется там все топики держать вперемешку.
Я открыл голосование с предложением разделить на подразделы, отделив скрипты, стили и кб в разные разделы, и чтоб в каждом из них было ещё по 2 подраздела: для тем-обсуждений готовых, например, скриптов и для тем-вопросов (типа "а как сделать такой-то скрипт?")
Прошу всех проголосовать.


mzfx

Отсутствует

 

№22502-10-2011 20:33:43

iDev.Pi
баг-репортёр
 
Группа: Extensions
Зарегистрирован: 31-01-2010
Сообщений: 2718
UA: Nightly 10.0

Re: Greasemonkey

iDev.Pi пишет

тут у нас новый раздел появился, куда планируется перенести обсуждение скриптов.так вот в нём сейчас структура такая, что планируется там все топики держать вперемешку.Я открыл голосование с предложением разделить на подразделы, отделив скрипты, стили и кб в разные разделы, и чтоб в каждом из них было ещё по 2 подраздела: для тем-обсуждений готовых, например, скриптов и для тем-вопросов (типа "а как сделать такой-то скрипт?")Прошу всех проголосовать.

Спасибо Unghost-у, наконец-то право голосовать есть у всех.


mzfx

Отсутствует

 

Board footer

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