Подскажите, есть ли скрипт, форматирующий номера сотовых операторов в формате 89********* в удобный вид, например, +7(9**)***-**-** ?
у нас на форумах стоит скрипт, автоматически форматирующий номера в неудобный вид (для поиска - ipb ). Сам написать не могу — не разбираюсь в регэкспах, да и как поделить цельный номер в куски — тоже без понятия.
Отсутствует
не, уж лучше только тут. с английским плохо. да и выкладывать стыдновато такой костыль .
// ==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);
Отсутствует
стоит ли на лягать на скрипты или одноимённые аддоны юзать?
Скрипт всегда запускается только после загрузки страницы, а адон ведет себя так, как написал его автор, т.е. вполне может замедлять загрузку страниц.
P.S.
По-уму, вобще желательно создать отдельную тему касательно скриптов.
Иногда мне кажется, что лучшие программисты мира и лучшие технические умы работают только над одним - как сделать так, чтоб на новом скоростном железе тормозило также, как на хламе 10 летней давности.
(с)
Отсутствует
Так как темы про Scriprish почему-то до сих пор не создали.....
Raf-9600
Scriptish - менеджер скриптов для Firefox
Отредактировано Крошка Ру (26-05-2011 02:30:03)
Отсутствует
Крошка Ру
Благодарю, перенес сообщение туда.
Отредактировано Raf-9600 (26-05-2011 12:25:48)
Иногда мне кажется, что лучшие программисты мира и лучшие технические умы работают только над одним - как сделать так, чтоб на новом скоростном железе тормозило также, как на хламе 10 летней давности.
(с)
Отсутствует
Установил сегодня FF 5.0 и GM не подгружает скрипты. Меню аддона доступно, можно покавыряться в настройках, но сами скрипты не работают. Версия GM 0.9.5. Поделитесь рабочей версией.
:::: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0
Отсутствует
Sergik1 ,всё что могу предложить - попробуйте вместо Greasemonkey Scriptish - менеджер скриптов для Firefox (пост №30 - прямая ссылка на исправленную версию)
Отсутствует
Sergik1 все скрипты? а у меня в 7.0a1 работают .... или просто скрипты другие ......может только в 5.0 так?
Отсутствует
Да, абсолютно все Попробую сейчас на чистом профиле, но всё равно сомнительно. Ведь 2 отдельных расширения для скриптов такое выдают... позже отпишусь.
П.С. Да, так и есть, на новом профиле тоже скрипты не срабатывают. Похоже скрипты не ассоциируются с адресом страницы для которой они написаны, т.е. не знают, что им нужно в данный момент отработать.
Вот скрины, показан код скрипта, он для страницы Гугла и собственно скрин меню scriptish при открытой странице Гугла. Скрип т не подгружается.
Отредактировано Sergik1 (19-06-2011 09:40:44)
Отсутствует
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)
Отсутствует
По логу ошибок в консоли на jabber конференции поддержки сказали, что в ФФ 5.0 изменили js движок и теперь некоторые скрипты не будут работать, их нужно допиливать. Дело не в расширениях.
Отсутствует
Подскажите пожалуйста такую штуку.
Есть страница на сайте.
там есть всплывающее окошко, в котором идет информация и кнопка "Обновить".
Можно ли как то сделать, Чтобы эта кнопка автоматом нажималась ну скажем раз в 5-10 секунд.
П.С. Обновление страницы не подходит.
Отсутствует
CoolCmd
Подскажите пожалуйста как это сделать.
Какие данные о странице предоставить?
Вот так это выглядит (ссылку на картинку в спойлер засунул)
Отсутствует
Уважаемые езнатоки JavaScript, помогите решить задачку...
Имеется страница, на ней около сотни div-ов, но автор страницы очень уж исхитрил и создал такой код:
Код этот работает, но я что-то никак не соображу как можно отловить в Greasemonkey нужный мне див и сделать по нему click или послать ему onMouseOver. У каждого дива этого класса есть атрибут "_enab="N" ", где N число от 0 до 93. Поскольку не силен в JavaScript, то всю репу уже расчесал себе, в попытках нагуглить хоть что-то.
Продам: совесть, ответственность, вежливость, воспитанность. Недорого.
Отсутствует
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
Отсутствует
Что-то я ничего не понимаю... Весь уже измучился
Уже создал тестовую страничку с самым примитивным содержанием, но никак не могу заставить скрипт найти элемент...
Вот страничка:
Вот скрипт:
window.checkdiv = function () { ADS = document.getElementById('test-div-id'); if (ADS != null) { alert('Find'); } else { alert('None'); } } checkdiv();
Вообще не выдает алерта... ЧЯДНТ?
Продам: совесть, ответственность, вежливость, воспитанность. Недорого.
Отсутствует
http://wiki.greasespot.net/Avoid_Common … easemonkey
Для конкретно этого примера:
И лучше var ADS = ...
Отредактировано Infocatcher (08-09-2011 17:13:10)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Пробовал так же как Вы советуете - не видит элементов ни в какую.
Продам: совесть, ответственность, вежливость, воспитанность. Недорого.
Отсутствует
тут у нас новый раздел появился, куда планируется перенести обсуждение скриптов.
так вот в нём сейчас структура такая, что планируется там все топики держать вперемешку.
Я открыл голосование с предложением разделить на подразделы, отделив скрипты, стили и кб в разные разделы, и чтоб в каждом из них было ещё по 2 подраздела: для тем-обсуждений готовых, например, скриптов и для тем-вопросов (типа "а как сделать такой-то скрипт?")
Прошу всех проголосовать.
mzfx
Отсутствует
тут у нас новый раздел появился, куда планируется перенести обсуждение скриптов.так вот в нём сейчас структура такая, что планируется там все топики держать вперемешку.Я открыл голосование с предложением разделить на подразделы, отделив скрипты, стили и кб в разные разделы, и чтоб в каждом из них было ещё по 2 подраздела: для тем-обсуждений готовых, например, скриптов и для тем-вопросов (типа "а как сделать такой-то скрипт?")Прошу всех проголосовать.
Спасибо Unghost-у, наконец-то право голосовать есть у всех.
mzfx
Отсутствует