<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; JavaScript: скрипт для FF+Greasemonkey+CoLT, для удобства на форуме]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=2743&amp;type=atom" />
	<updated>2009-02-13T12:49:58Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=2743</id>
		<entry>
			<title type="html"><![CDATA[Re: JavaScript: скрипт для FF+Greasemonkey+CoLT, для удобства на форуме]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=19466#p19466" />
			<content type="html"><![CDATA[<p>Дополнение к вышеприведённому скрипту. В блоках кода на форуме можно реализовать кнопку &quot;Выделить код&quot;. Это будет весьма удобно в сочетании с <a href="http://forum.script-coding.com/viewtopic.php?id=2577">этим</a> инструментом. Скрипт с добавлением:<br /></p><div class="codebox"><pre><code>// ==UserScript==
// @name          SCI_AddLinks2PostNumbers
// @description   Script-Coding.com: Add links to post numbers.
// @include       http://forum.script-coding.com/viewtopic.php*
// @version       0.01.2
// ==/UserScript==

var collTags = document.getElementsByTagName(&quot;span&quot;);
var elemPostNumberLink;

for (var i = 0; i &lt; collTags.length; i++){
    if (collTags[i].className == &quot;conr&quot;) {
        elemPostNumberLink = document.createElement(&quot;a&quot;);

        with (elemPostNumberLink) {
            href = collTags[i].nextSibling.href;
            appendChild(document.createTextNode(
                collTags[i].firstChild.nodeValue.replace(/^[\s]+/, &quot;&quot;).replace(/[\s]+$/, &quot;&quot;)));
            title = &quot;Используйте расширение CoLT (http://www.borngeek.com/firefox/colt/), \r\n&quot; +
                &quot;чтобы скопировать скопировать название и URL ссылки в формате BBCode&quot;;
            style.backgroundColor = &quot;aqua&quot;;
            style.MozBorderRadius = &quot;0.1em&quot;;
            style.padding         = &quot;0.2em&quot;;
            style.textDecoration  = &quot;none&quot;;
        }

        collTags[i].replaceChild(elemPostNumberLink, collTags[i].firstChild);
    }
}

var collTags = document.getElementsByClassName(&quot;codebox&quot;);
var elemCode;
var num = 0;
var code1 = &quot;javascript:pre = document.getElementById(&#039;&quot;;
var code2 = &quot;&#039;).getElementsByTagName(&#039;pre&#039;)[0]; var range = document.createRange(); range.selectNode(pre); window.getSelection().addRange(range);&quot;;

for (var i = 0; i &lt; collTags.length; i++){
    collTags[i].id = &quot;codebox&quot; + num; num++;
    form = document.createElement(&quot;form&quot;);
    input = document.createElement(&quot;input&quot;);
    input.type = &quot;submit&quot;;
    input.value = &quot;Выделить код&quot;;
    form.appendChild(input);
    form.action = code1 + collTags[i].id + code2;
    br = document.createElement(&quot;br&quot;);
    collTags[i].insertBefore(br, collTags[i].firstChild);
    collTags[i].insertBefore(form, collTags[i].firstChild);
}</code></pre></div><p><span class="postimg"><img src="http://img23.imageshack.us/img23/5718/scrqo7.jpg" alt="http://img23.imageshack.us/img23/5718/scrqo7.jpg" /></span></p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2009-02-13T12:49:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=19466#p19466</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[JavaScript: скрипт для FF+Greasemonkey+CoLT, для удобства на форуме]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=19043#p19043" />
			<content type="html"><![CDATA[<p>Скрипт для дополнения <strong>Greasemonkey</strong> для совместного использования с дополнением <strong>CoLT</strong> в <strong>Mozilla Firefox</strong>.</p><p><a href="http://www.greasespot.net/">Greasemonkey</a> — это расширение <strong>Mozilla Firefox</strong>, позволяющее добавить на любую страницу пользовательский JavaScript, записанный в формате этого расширения (сайт по пользовательским скриптам <strong>Greasemonkey</strong>: <a href="http://userscripts.org/">Userscripts.org</a>).</p><p><a href="http://www.borngeek.com/firefox/colt/">CoLT</a>&nbsp; — это расширение <strong>Mozilla Firefox</strong>, позволяющее кoпиpoвaть нaзвaниe и URL ccылки чepeз кoнтeкcтнoe мeню в разных, в том числе и пользовательских, форматах — BBCode, HTML, Wiki и т.п. Например, при щелчке правой кнопкой мышки на левой верхней ссылке на этой странице («Список») и последующем выборе пункта контекстного меню «Копировать название и URL ссылки», «BBCode» в буфер обмена будет скопирован следующий текст:<br /></p><div class="codebox"><pre><code>[url=http://forum.script-coding.com/index.php]Список[/url]</code></pre></div><p>, сразу готовый для вставки в окно сообщения форума.</p><p>Здесь предлагается скрипт для <strong>Greasemonkey</strong>, добавляющий ссылки к номерам сообщений этого форума, чтобы с помощью расширения <strong>CoLT</strong> было удобно копировать ссылку в формате BBCode, содержащую текст «# НомерПоста», получая в результате копирования такое:<br /></p><div class="quotebox"><blockquote><p><a href="http://forum.script-coding.com/viewtopic.php?pid=19043#p19043">#1</a></p></blockquote></div><div class="codebox"><pre><code>[url=http://forum.script-coding.com/viewtopic.php?pid=19043#p19043]#1[/url]</code></pre></div><p>Сам скрипт:<br /></p><div class="codebox"><pre><code>// ==UserScript==
// @name          SCI_AddLinks2PostNumbers
// @description   Script-Coding.com: Add links to post numbers.
// @include       http://forum.script-coding.com/viewtopic.php*
// @version       0.01.1
// ==/UserScript==

var collTags = document.getElementsByTagName(&quot;span&quot;);
var elemPostNumberLink;

for (var i = 0; i &lt; collTags.length; i++){
    if (collTags[i].className == &quot;conr&quot;) {
        elemPostNumberLink = document.createElement(&quot;a&quot;);

        with (elemPostNumberLink) {
            href = collTags[i].nextSibling.href;
            appendChild(document.createTextNode(
                collTags[i].firstChild.nodeValue.replace(/^[\s]+/, &quot;&quot;).replace(/[\s]+$/, &quot;&quot;)));
            title = &quot;Используйте расширение CoLT (http://www.borngeek.com/firefox/colt/), \r\n&quot; +
                &quot;чтобы скопировать скопировать название и URL ссылки в формате BBCode&quot;;
            style.backgroundColor = &quot;aqua&quot;;
            style.MozBorderRadius = &quot;0.1em&quot;;
            style.padding         = &quot;0.2em&quot;;
            style.textDecoration  = &quot;none&quot;;
        }

        collTags[i].replaceChild(elemPostNumberLink, collTags[i].firstChild);
    }
}</code></pre></div><p>1. Загрузите и установите расширение <strong>Greasemonkey</strong>.<br />2. Загрузите и установите расширение <strong>CoLT</strong>.<br />4. Перезапустите Firefox, чтобы установленные расширения начали работать.<br />3. Сохраните код скрипта в формате UTF-8 (необходимо для отображения кириллицы; проще всего это сделать в Блокноте) под именем «sci_addlinks2postnumbers.user.js» (начало имени файла может быть произвольным, но <em>обязательно</em> должно оканчиваться на «.user.js» — по этому признаку <strong>Greasemonkey</strong> распознаёт пользовательский скрипт).<br />4. Перетащите файл «sci_addlinks2postnumbers.user.js» из Проводника в окно Firefox. Если Вы всё сделали правильно, <strong>Greasemonkey</strong> распознает пользовательский скрипт и задаст вопрос о разрешении установки скрипта. Подтвердите установку пользовательского скрипта.<br />5. После установки скрипт будет работать на страницах, перечисленных параметрами @include, в данном случае на «http://forum.script-coding.com/viewtopic.php*» — страницах этого форума, содержащих сообщения. Можно легко добавить другие форумы на том же самом движке (PunBB), пользуясь диалогом настройки дополнения <strong>Greasemonkey</strong>. После добавления скрипта (или нового шаблона URL для него) необходимо перезагрузить страницу форума, и номера постов превратятся в ссылки, с которыми будет удобно работать через контекстное меню, предоставляемое дополнением <strong>CoLT</strong>.</p><p>Проверялось на Mozilla Firefox 2.0.0.20 и 3.0.5, <a href="http://www.greasespot.net/">Greasemonkey</a> 0.8.20080609.0, <a href="http://www.borngeek.com/firefox/colt/">CoLT</a> 2.4.3.</p><p>Автор скрипта — <strong>alexii</strong>.</p>]]></content>
			<author>
				<name><![CDATA[The gray Cardinal]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=2</uri>
			</author>
			<updated>2009-02-02T17:11:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=19043#p19043</id>
		</entry>
</feed>
