Страницы: 1
Linkificator 2.0.4
Автор: MarkaPola
Размер: 114 КБ
Домашняя страница: https://addons.mozilla.org/ru/firefox/a … kificator/
Перевод на русский: iHastr
Совместимость: 21 – 33
Описание: Linkificator преобразует текстовые ссылки в кликабельные.
Это дополнение разбирает текстовые части HTML-страниц для сопоставления гипертекстовым шаблонам и преобразует их в кликабельные ссылки в соответствии с заданными правилами.
Имеет такой же функционал, как у дополнения Linkification, которое, кажется, больше не поддерживается. Дополнение Linkificator может использоваться в качестве его замены. Для корректной работы необходимо оставить включенным только одно из этих дополнений!
Установить Linkificator 2.0.4 Русская версия
Отредактировано iHastr (05-09-2014 18:13:53)
Отсутствует
villa7
С таким вопросом надо к автору расширения,на странице AMO
А пока только так-Linkification
Уделывает по производительности и Linkificator,и отца-основателя Linkification
Вот только доработать бы-по клику активирует ссылки,а в идеале-автоматом.
Отсутствует
VORON
Есть скрипт от этого же автора, работает автоматом. Спрашивал про это расширение на всякий случай, вдруг скрипт накроется.
// ==UserScript== // @name Linkification // @namespace http://userscripts.org/users/splurov/ // @include * // ==/UserScript== (function(){ // (c) http://data.iana.org/TLD/tlds-alpha-by-domain.txt var domains = ['ac', 'ad', 'ae', 'aero', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'arpa', 'as', 'asia', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'biz', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cat', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'com', 'coop', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'edu', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gov', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'info', 'int', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jobs', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mil', 'mk', 'ml', 'mm', 'mn', 'mo', 'mobi', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'museum', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'name', 'nc', 'ne', 'net', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'org', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'pro', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tel', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'travel', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw']; // (c) http://yellow5.us/firefox/linkification/ var tagsForSkip = ['a', 'applet', 'area', 'embed', 'frame', 'frameset', 'head', 'iframe', 'img', 'map', 'meta', 'noscript', 'object', 'option', 'param', 'script', 'select', 'style', 'textarea', 'title']; var inArray = function(value, items) { for (var i = 0; items[i] && value != items[i]; i++); return value == items[i]; } var urlsRegExp = /(^|[\s()\[\]_:~+@*"'>])((?:https?|ftp|irc):\/\/)?([-a-z\d;:&=+$,%_.!~*'()]+@)?((?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:(www|irc|ftp)\.)?(?:(?:[a-z\d]|[a-z\d][a-z\d-]*[a-z\d])\.)+([a-z]{2,6}))(:\d+)?(\/(?:[-\w.!~*'()%:@&=+$,;\/]*[\w~*%@&=+$\/])?(?:\?(?:[-\w;\/?:@&=+$,.!~*'()%\[\]|]*[\w\/@&=+$~*%])?)?(?:#(?:[-\w;\/?:@&=+$,.!~*'()%]*[\w\/@&=+$~*%])?)?|\b)/i var linksCounter = 0; var current = document.body; while (current) { if (current.nodeName == '#text' && (match = current.nodeValue.match(urlsRegExp)) && inArray(match[6], domains)) { var url; if (match[3] && ! match[2] && ! match[5] && ! match[8] && (match[3].indexOf(':') == -1 || match[3].indexOf('mailto:') == 0)) { url = (match[3].indexOf('mailto:') == -1 ? 'mailto:' : '') + match[3] + match[4]; } else { url = (match[2] ? match[2] : (! match[5] || match[5] == 'www' ? 'http' : match[5]) + '://') + (match[3] ? match[3] : '') + match[4] + (match[7] ? match[7] : '') + (match[8] ? match[8] : ''); } if (url) { var range = document.createRange(); range.setStart(current, match.index + match[1].length); range.setEnd(current, match.index + match[0].length); var a = document.createElement('a'); a.setAttribute('href', url); a.setAttribute('class', 'linkified'); a.appendChild(range.extractContents()); range.insertNode(a); range.detach(); linksCounter++; } } if (current.tagName && !inArray(current.tagName.toLowerCase(), tagsForSkip) && current.firstChild) { current = current.firstChild; } else if (current.nextSibling) { current = current.nextSibling; } else { do { current = current.parentNode; } while (!current.nextSibling && current.parentNode); current = current.nextSibling; } } if (linksCounter > 0) { var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode('a.linkified:before {content: "~"; color: #e00;}')); document.getElementsByTagName('head')[0].appendChild(style); } })();
Отредактировано villa7 (05-09-2014 20:29:47)
Лучше спросить у знающих - чем лезть не зная.
Отсутствует
VORON
Есть скрипт от этого же автора, работает автоматом. Спрашивал про это расширение на всякий случай, вдруг скрипт накроется.скрытый текстВыделить кодКод:
// ==UserScript== // @name Linkification // @namespace http://userscripts.org/users/splurov/ // @include * // ==/UserScript== (function(){ // (c) http://data.iana.org/TLD/tlds-alpha-by-domain.txt var domains = ['ac', 'ad', 'ae', 'aero', 'af', 'ag', 'ai', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'arpa', 'as', 'asia', 'at', 'au', 'aw', 'ax', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'biz', 'bj', 'bm', 'bn', 'bo', 'br', 'bs', 'bt', 'bv', 'bw', 'by', 'bz', 'ca', 'cat', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'com', 'coop', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'ec', 'edu', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gov', 'gp', 'gq', 'gr', 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'info', 'int', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jobs', 'jp', 'ke', 'kg', 'kh', 'ki', 'km', 'kn', 'kp', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mil', 'mk', 'ml', 'mm', 'mn', 'mo', 'mobi', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'museum', 'mv', 'mw', 'mx', 'my', 'mz', 'na', 'name', 'nc', 'ne', 'net', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', 'org', 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'pro', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'rs', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tel', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tp', 'tr', 'travel', 'tt', 'tv', 'tw', 'tz', 'ua', 'ug', 'uk', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw']; // (c) http://yellow5.us/firefox/linkification/ var tagsForSkip = ['a', 'applet', 'area', 'embed', 'frame', 'frameset', 'head', 'iframe', 'img', 'map', 'meta', 'noscript', 'object', 'option', 'param', 'script', 'select', 'style', 'textarea', 'title']; var inArray = function(value, items) { for (var i = 0; items[i] && value != items[i]; i++); return value == items[i]; } var urlsRegExp = /(^|[\s()\[\]_:~+@*"'>])((?:https?|ftp|irc):\/\/)?([-a-z\d;:&=+$,%_.!~*'()]+@)?((?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:(www|irc|ftp)\.)?(?:(?:[a-z\d]|[a-z\d][a-z\d-]*[a-z\d])\.)+([a-z]{2,6}))(:\d+)?(\/(?:[-\w.!~*'()%:@&=+$,;\/]*[\w~*%@&=+$\/])?(?:\?(?:[-\w;\/?:@&=+$,.!~*'()%\[\]|]*[\w\/@&=+$~*%])?)?(?:#(?:[-\w;\/?:@&=+$,.!~*'()%]*[\w\/@&=+$~*%])?)?|\b)/i var linksCounter = 0; var current = document.body; while (current) { if (current.nodeName == '#text' && (match = current.nodeValue.match(urlsRegExp)) && inArray(match[6], domains)) { var url; if (match[3] && ! match[2] && ! match[5] && ! match[8] && (match[3].indexOf(':') == -1 || match[3].indexOf('mailto:') == 0)) { url = (match[3].indexOf('mailto:') == -1 ? 'mailto:' : '') + match[3] + match[4]; } else { url = (match[2] ? match[2] : (! match[5] || match[5] == 'www' ? 'http' : match[5]) + '://') + (match[3] ? match[3] : '') + match[4] + (match[7] ? match[7] : '') + (match[8] ? match[8] : ''); } if (url) { var range = document.createRange(); range.setStart(current, match.index + match[1].length); range.setEnd(current, match.index + match[0].length); var a = document.createElement('a'); a.setAttribute('href', url); a.setAttribute('class', 'linkified'); a.appendChild(range.extractContents()); range.insertNode(a); range.detach(); linksCounter++; } } if (current.tagName && !inArray(current.tagName.toLowerCase(), tagsForSkip) && current.firstChild) { current = current.firstChild; } else if (current.nextSibling) { current = current.nextSibling; } else { do { current = current.parentNode; } while (!current.nextSibling && current.parentNode); current = current.nextSibling; } } if (linksCounter > 0) { var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode('a.linkified:before {content: "~"; color: #e00;}')); document.getElementsByTagName('head')[0].appendChild(style); } })();
Перед ссылкой появляется такой значок
можно его убрать?
Отсутствует
Linkificator 2.0.5
Мой русский перевод разработчик добавил официально на AMO.
https://addons.mozilla.org/ru/firefox/a … kificator/
Отсутствует
Скрипт не срабатывает на https?
Например тут в комментариях
Работает на https, просто на amo комментарии загружаются после загрузки страницы а не сразу, поэтому на них не срабатывает. А если открыть только комменты https://addons.mozilla.org/ru/firefox/addon/forecastfox-weather/reviews/
то все работает.
Отсутствует
villa7
Благодарю. Убрал ('a.linkified:before {content: "~"; color: #e00;}').
Можно убрать весь блок кода, он без этой строчки становится бесполезен
if (linksCounter > 0) { var style = document.createElement('style'); style.type = 'text/css'; style.appendChild(document.createTextNode('a.linkified:before {content: "~"; color: #e00;}')); document.getElementsByTagName('head')[0].appendChild(style); }
Я в своей версии скрипта так и сделал, вдобавок обновил список доменов верхнего уровня (их с каждым годом всё больше появляется).
Отредактировано dartraiden (10-05-2015 19:56:43)
Отсутствует
Страницы: 1