<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bappoy&#039;s blog &#187; firefox</title>
	<atom:link href="http://bappoy.pp.ru/tag/firefox/feed" rel="self" type="application/rss+xml" />
	<link>http://bappoy.pp.ru</link>
	<description>Линуксоид на велосипеде с моторчиком</description>
	<lastBuildDate>Mon, 06 Sep 2010 14:00:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Очередные мелочи Firefox</title>
		<link>http://bappoy.pp.ru/2009/12/23/firefox.html</link>
		<comments>http://bappoy.pp.ru/2009/12/23/firefox.html#comments</comments>
		<pubDate>Wed, 23 Dec 2009 06:15:12 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://bappoy.pp.ru/?p=855</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2009%2F12%2F23%2Ffirefox.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2009%2F12%2F23%2Ffirefox.html" height="61" width="51" /></a></div><p>Функция &laquo;detach tab&raquo;, актуальная при наличии двух мониторов, в Firefox 3.0 (он же Iceweasel в Debian) в явном виде отсутствует, но хотя на пустое место вкладку перетащить нельзя (как, например, в gnome-terminal), работает простое перетаскивание вкладок между окнами. Таким образом, чтобы отделить вкладку в отдельное окно, нужно сначала создать это окно (Ctrl+N), сделать его видимым одновременно с основным и перетащить туда эту вкладку. В Firefox 3.5 для выделения вкладки в новое окно есть пункт &laquo;Open in a new window&raquo; в контекстном меню вкладки.</p>
<p>Чтобы в режиме fullscreen строка статуса всегда оставалась видимой, нужно создать файл настроек интерфейса <strong>%profiledir%/chrome/userChrome.css</strong> (или скопировать его из <strong>userChrome-example.css</strong> из той же папке) со следующим содержанием:</p>
<pre>@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
#status-bar
{
	visibility: visible;
}</pre>
<p>Ещё несколько <a href="http://www.mozilla.org/unix/customizing.html">примеров</a> того, как можно настроить Firefox под себя без использования расширений.</p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2009/12/23/firefox.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Несколько одновременно загруженных профилей firefox</title>
		<link>http://bappoy.pp.ru/2009/06/08/firefox-multiple-profiles.html</link>
		<comments>http://bappoy.pp.ru/2009/06/08/firefox-multiple-profiles.html#comments</comments>
		<pubDate>Mon, 08 Jun 2009 06:30:06 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://bappoy.pp.ru/?p=677</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2009%2F06%2F08%2Ffirefox-multiple-profiles.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2009%2F06%2F08%2Ffirefox-multiple-profiles.html" height="61" width="51" /></a></div><p>Часто возникает задача проверить функционал разрабатываемого или поддерживаемого веб-интерфейса под двумя логинами одновременно. Например, изменяя настройки доступа некоего пользователя под логином администратора, тут же проверять эти настройки в пользовательской системе. Или проверить второй ящик gmail, не выходя из основного. Однако firefox всегда открывает новые окна и табы в рамках уже запущенного процесса, что, казалось бы, делает невозможным одновременное использование двух авторизаций.</p>
<p>Однако выход, как всегда, есть (и не один)! В ff начиная со второй версии есть ключ <code>--no-remote</code>, который заставляет firefox всегда запускать новый процесс. В комбинации с ключом <code>-ProfileManager</code> это дает возможность создавать и использовать столько профилей, сколько заблагорассудится (лично мне вполне хватает двух дополнительных профилей, плюс еще один под клиент-банк).</p>
<p>Чтобы в среде gnome не вводить каждый раз командную строку, можно в ярлыке запуска firefox указать что-то вроде:</p>
<pre>firefox %u -ProfileManager --no-remote</pre>
<p>Тогда при каждом клике на значок firefox&#8217;а будет открываться окно с менеджером профилей (где желательно снять галку &laquo;Don&#8217;t ask at startup&raquo;, чтобы выбранный профиль не загружался автоматически). Возможно, это создаст некоторые неудобства из-за того, что при каждом клике на кнопку запуска открывается новый независимый процесс, а не используется существующий, но преимущества в данном случае перевешивают недостатки.</p>
<p>P.S. В вышеприведенном примере  %u необходим, чтобы можно было перетаскивать файлы с рабочего стола или nautilus&#8217;а на этот значок. </p>
<p>P.P.S. насколько я понимаю, в IE подобная возможность отсутствует как класс. Поправьте меня, если я ошибаюсь :)</p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2009/06/08/firefox-multiple-profiles.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Как научить Firefox открывать Gmail для написания писем при нажатии на ссылки mailto:</title>
		<link>http://bappoy.pp.ru/2007/11/07/firefox-gmail-mailto.html</link>
		<comments>http://bappoy.pp.ru/2007/11/07/firefox-gmail-mailto.html#comments</comments>
		<pubDate>Wed, 07 Nov 2007 18:46:54 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[советы]]></category>

		<guid isPermaLink="false">http://bappoy.pp.ru/2007/11/07/firefox-gmail-mailto/</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F11%2F07%2Ffirefox-gmail-mailto.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F11%2F07%2Ffirefox-gmail-mailto.html" height="61" width="51" /></a></div><p>Задача: при нажатии на ссылки типа <a href="mailto:dedushke@naderevnyu.com">mailto:dedushke@naderevnyu.com</a> должно открываться окно создания письма gmail, при этом в поле &laquo;Кому&raquo; должен попасть адресат из исходной ссылки, &laquo;Тема письма&raquo; также заполняется автоматически, если соответствующий параметр был в ссылке. Прочие вкусности по желанию. Браузер &#8212; Firefox, ОС &#8212; Linux.</p>
<p>Для Windows и MacOS <a href="http://mail.google.com/support/bin/answer.py?answer=10966&amp;topic=1543">Гугл рекомендует</a> установить программу Gmail notifier и в её настройках отметить галку &laquo;Использовать Gmail для отправки электронной почты из Интернета&raquo;. Она что-то правит в реестре и всё работает.</p>
<p>У линуксоидов как всегда свой, особый путь с многочисленными развилками и перекрёстками.</p>
<p>Во-первых, создадим скрипт запуска firefox с открытием окна создания нового письма и сохраним его в ~/bin/gmail-launcher.sh. Из <a href="http://www.howtogeek.com/howto/ubuntu/set-gmail-as-default-mail-client-in-ubuntu/">этого обсуждения</a> наиболее приемлемым мне показался такой вариант:</p>
<blockquote><p><code>#!/bin/sh<br />
gmailargs=`echo $1 | sed -e "s/mailto:/to=/" -e "s/\?subject=/\&amp;su=/" -e "s/\?cc=/\&amp;cc=/" -e "s/\?bcc=/\&amp;bcc=/" -e "s/\?body=/\&amp;body=/"`<br />
firefox -remote "openurl( https://mail.google.com/mail?view=cm&amp;$gmailargs, new-tab )"</code></p></blockquote>
<p>Первая (нумерация строчек начинается с нуля) строчка преобразует параметры subject, cc, bcc, body в вид, понятный gmail&#8217;у.<br />
Вторая открывает нужный адрес со сформированными параметрами в новой вкладке.</p>
<p>Во-вторых, настроим систему на использование этого скрипта как программы составления писем по умолчанию. По уже упоминавшейся <a href="http://www.howtogeek.com/howto/ubuntu/set-gmail-as-default-mail-client-in-ubuntu/">ссылке</a> приводится иллюстрированное описание  этого процесса. У меня в русифицированном гноме это делается так: параметры &#8212; дополнительные параметры &#8212; предпочтительные приложения &#8212; раздел &laquo;почтовая программа&raquo;.</p>
<p>Но у данного способа есть существенный недостаток &#8212; иногда необходимо, чтобы системным почтовиком по умолчанию был offline-клиент (например, thunderbird), а в firefox&#8217;е для всех mailto-адресов открывался gmail. Кроме того, иногда firefox &laquo;забывает&raquo;, чем надо открывать почту. В таком случае необходимо приложить дополнительные усилия для разъяснения firefox&#8217;у, ху из ху.</p>
<p>В редакторе конфигурации about:config вводим строчку &laquo;mailto&raquo; для поиска параметров, содержащих в названии mailto. Если вы раньше ничего не трогали, то  показываются три параметра (о том, что они означают, можно (и нужно) прочитать на странице <a href="http://kb.mozillazine.org/About:config_entries">About:config entries</a> в <a href="http://kb.mozillazine.org">MozillaZine Knowledge Base</a>):</p>
<p>network.protocol-handler.warn-external.mailto=false<br />
network.protocol-handler.external.mailto=true<br />
network.protocol-handler.expose.mailto=false</p>
<p>Чтобы для mailto: в firefox&#8217;е запускался созданный скрипт, необходимо добавить еще один строковой параметр network.protocol-handler.app.mailto, присвоить ему значение ~/bin/gmail-launcher.sh, и изменить значение ключа network.protocol-handler.expose.mailto на true.</p>
<p>После этого можно протестировать работу данной фичи, нажав на <a href="mailto:bpp@bappoy.pp.ru?subject=thanks%20for%20the%20article&amp;body=subj">эту ссылку</a>. Должна открыться форма для создания мне письма :)</p>
<p><strong>Upd.</strong> в английской версии интерфейса gmail, которая, к слову, значительно отличается от русской, вышеприведённая строчка запуска не работает. Как подсказывает Кирилл Горелов в комментарии к этому посту, необходимо запускать gmail вот так:</p>
<blockquote><p><code>firefox -remote "openurl( https://mail.google.com/mail/?fs=1&amp;tf=1&amp;source=ig&amp;view=cm&amp;$gmailargs, new-tab )"</code></p></blockquote>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2007/11/07/firefox-gmail-mailto.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Firefox: как бороться с опечатками при наборе URL</title>
		<link>http://bappoy.pp.ru/2007/10/15/firefox-fix-mistypes-with-keywords.html</link>
		<comments>http://bappoy.pp.ru/2007/10/15/firefox-fix-mistypes-with-keywords.html#comments</comments>
		<pubDate>Mon, 15 Oct 2007 07:58:19 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[lifehack]]></category>
		<category><![CDATA[советы]]></category>

		<guid isPermaLink="false">http://goodvin.pp.ru/2007/10/15/firefox-fix-mistypes-with-keywords/</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F15%2Ffirefox-fix-mistypes-with-keywords.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F15%2Ffirefox-fix-mistypes-with-keywords.html" height="61" width="51" /></a></div><p>Очередной пример нестандартного использования ключевых слов в закладках opera и firefox: статья в Компьютерре <a href="http://www.computerra.ru/gid/rtfm/browser/332690/">&laquo;Как бороться с опечатками при наборе URL в Opera&raquo;</a>.</p>
<p>Краткое содержание: если опечатки типа &laquo;goodle.com&raquo; случаются слишком часто, то можно создать закладку на http://google.com и назначить ей соответствующий keyword. </p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2007/10/15/firefox-fix-mistypes-with-keywords.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox: генератор букмарклетов, которые принимают несколько аргументов</title>
		<link>http://bappoy.pp.ru/2007/10/10/firefox-multiple-keywords-bookmarklet-generator.html</link>
		<comments>http://bappoy.pp.ru/2007/10/10/firefox-multiple-keywords-bookmarklet-generator.html#comments</comments>
		<pubDate>Wed, 10 Oct 2007 15:10:33 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[Ссылки]]></category>
		<category><![CDATA[bookmarklets]]></category>
		<category><![CDATA[советы]]></category>

		<guid isPermaLink="false">http://goodvin.pp.ru/?p=202</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F10%2Ffirefox-multiple-keywords-bookmarklet-generator.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F10%2Ffirefox-multiple-keywords-bookmarklet-generator.html" height="61" width="51" /></a></div><p>В продолжение темы firefox&#8217;овых штучек (<a href="http://goodvin.pp.ru/?p=200" title="фокусы с Firefox: замена поисковой системы, расширение функциональности ключевых слов">1</a>, <a href="http://goodvin.pp.ru/?p=201" title="Фокусы с Firefox, часть 2: автоматизация жж с помощью ключевых слов">2</a>): <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=124237#c19">букмарклет</a>, создающий другие букмарклеты, на которые можно назначить ключевое слово и вызывать их с несколькими аргументами (а не только с одним, как обычно). На странице <a href="http://kb.mozillazine.org/Multiple_parameter_keyword_searches">Multiple parameter keyword searches</a>, откуда я попал на вышеуказанную страницу, приведены два примера использования такого букмарклета: для сервиса <a href="http://googlefight.com">Googlefight</a> (сравнение популярности двух слов по выдаче google) и сравнение графиков котировок нескольких акций.</p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2007/10/10/firefox-multiple-keywords-bookmarklet-generator.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Фокусы с Firefox, часть 2: автоматизация жж с помощью ключевых слов</title>
		<link>http://bappoy.pp.ru/2007/10/09/firefox-lj-automatization-with-keywords.html</link>
		<comments>http://bappoy.pp.ru/2007/10/09/firefox-lj-automatization-with-keywords.html#comments</comments>
		<pubDate>Tue, 09 Oct 2007 17:09:35 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[lifehack]]></category>
		<category><![CDATA[bookmarklets]]></category>
		<category><![CDATA[советы]]></category>

		<guid isPermaLink="false">http://goodvin.pp.ru/?p=201</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F09%2Ffirefox-lj-automatization-with-keywords.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F09%2Ffirefox-lj-automatization-with-keywords.html" height="61" width="51" /></a></div><p>В <a href="http://goodvin.pp.ru/?p=200">предыдущей заметке</a> было рассказано, как можно использовать ключевые слова в Firefox более оптимально. Сейчас постараюсь продемонстрировать практическое применение.</p>
<p>В своё время <a href='http://dolboeb.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /></a><a href='http://dolboeb.livejournal.com/'><b>dolboeb</b></a> <a href="http://dolboeb.livejournal.com/920671.html">познакомил</a> массы с возможностью быстрого перехода на некоторые полезные сайты (к которым жж тоже относится, хе-хе) с помощью задания ключевых слов и параметров к ним. Немного поколдовав над javascript&#8217;ом и покурив соответствующие мануалы, я соорудил вот такой букмарклет:<br />
<!--more--></p>
<div align="center" style="font-size:150%;font-variant:sans-serif;font-weight:bold;"><a href="javascript:me=&quot;goodvin&quot;;t=&#39;%s&#39;;/* Idea &amp; realisation (c) goodvin, see http://goodvin.pp.ru/?p=201 for details */ arr=t.split(/%20+/); url=&quot;http://www.livejournal.com&quot;; if(arr.length==2) { user=arr[0]; switch(arr[1]){ case &quot;ff&quot;: url=&quot;http://users.livejournal.com/&quot;+user+&quot;/friends&quot;;break; case &quot;ii&quot;: url=&quot;http://users.livejournal.com/&quot;+user+&quot;/profile&quot;;break; case &quot;cc&quot;: url=&quot;http://users.livejournal.com/&quot;+user+&quot;/calendar&quot;;break; default: url=&quot;http://users.livejournal.com/&quot;+user+&quot;/&quot;; } } else if(arr.length==1){ switch(arr[0]){ case &quot;ff&quot;: url=&quot;http://users.livejournal.com/&quot;+me+&quot;/friends&quot;;break; case &quot;new&quot;: url=&quot;http://www.livejournal.com/update.bml&quot;;break; case &quot;cc&quot;: url=&quot;http://users.livejournal.com/&quot;+me+&quot;/calendar&quot;;break; case &quot;last&quot;: url=&quot;http://www.livejournal.com/editjournal.bml&quot;;break; case &quot;login&quot;: url=&quot;http://www.livejournal.com/login.bml&quot;;break; case String.fromCharCode(37,115): url=&quot;http://www.livejournal.com&quot;;break; default: url=&quot;http://users.livejournal.com/&quot;+arr[0]; } } location.href=url;">жежешечка</a></div>
<p>Чтобы попробовать букмарклет в деле, необходимо взяться за ссылку &laquo;жежешечка&raquo; мышкой, перетащить на панель закладок и отпустить. Затем нажать на появившуюся закладку правой клавишей мыши, открыть свойства и, во-первых, изменить ключевое слово на lj или ;; (точка с запятой два раза, &laquo;жж&raquo; в латинской раскладке); во-вторых, заменить никнейм вашего покорного слуги (<a href='http://goodvin.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /></a><a href='http://goodvin.livejournal.com/119223.html'><b>goodvin</b></a>)  на что-нибудь более подходящее, например, на свой юзернейм или название модерируемого community. После этого сохранить закладку и при вводе в строку адреса нижеперечисленных команд все будет работать :)</p>
<p>Условимся, что вы назначили для закладки ключевое слово &laquo;lj&raquo;:</p>
<table border="0" cellpadding="1" cellspacing="1">
<tr valign="top">
<td><code>lj&nbsp;username</code></td>
<td rowspan=9 width="5%">&nbsp;</td>
<td>жж <a href='http://username.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /></a><a href='http://username.livejournal.com/'><b>username</b></a></td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;new</code></td>
<td>новый пост</td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;ff</code></td>
<td>Ваша френдлента</td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;cc</code></td>
<td>Ваш календарь</td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;last</code></td>
<td><a href="http://www.livejournal.com/editjournal.bml">страница редактирования жж</a></td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;login</code></td>
<td><a href="http://www.livejournal.com/login.bml">страница входа в жж</a>, на случай, если выкинуло (IP-адрес поменялся или пустили брата за компьютер)</td>
</tr>
<tr valign="top">
<td colspan=2>&nbsp;</td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;username&nbsp;ff</code></td>
<td>френдлента пользователя <a href='http://username.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /></a><a href='http://username.livejournal.com/'><b>username</b></a></td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;username&nbsp;cc</code></td>
<td>календарь пользователя <a href='http://username.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /></a><a href='http://username.livejournal.com/'><b>username</b></a></td>
</tr>
<tr valign="top">
<td><code>lj&nbsp;username&nbsp;ii</code></td>
<td>профиль пользователя <a href='http://username.livejournal.com/profile'><img src='http://stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /></a><a href='http://username.livejournal.com/'><b>username</b></a></td>
</tr>
</table>
<p>Данная фича проверялась в Firefox 2.0.0.7, должна работать в более ранних версиях. По слухам, Опера тоже так умеет. Как это работает, описывается в <a ref="http://goodvin.pp.ru/?p=200">предыдущей заметке</a>. Если Вы хотите что-то изменить (например, чтобы по команде <code>lj</code> открывалась по умолчанию не главная страница ЖЖ, а, например, френдлента &#8212; меняйте :) Разрешается распространение данного букмарклета без каких-либо ограничений; <a href="http://goodvin.pp.ru/">ссылку</a> на автора сохранять желательно, но не обязательно.</p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2007/10/09/firefox-lj-automatization-with-keywords.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>фокусы с Firefox: замена поисковой системы, расширение функциональности ключевых слов</title>
		<link>http://bappoy.pp.ru/2007/10/08/firefox-replacing-search-engine-and-advanced-keywords.html</link>
		<comments>http://bappoy.pp.ru/2007/10/08/firefox-replacing-search-engine-and-advanced-keywords.html#comments</comments>
		<pubDate>Mon, 08 Oct 2007 13:33:15 +0000</pubDate>
		<dc:creator>bappoy</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[lifehack]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[bookmarklets]]></category>
		<category><![CDATA[советы]]></category>

		<guid isPermaLink="false">http://goodvin.pp.ru/?p=200</guid>
		<description><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F08%2Ffirefox-replacing-search-engine-and-advanced-keywords.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fbappoy.pp.ru%2F2007%2F10%2F08%2Ffirefox-replacing-search-engine-and-advanced-keywords.html" height="61" width="51" /></a></div><p>на Хабрахабре <a href="http://www.habrahabr.ru/blog/browsers/26207.html">опубликовали</a> статью с многочисленными примерами про то, какие в FireFox&#8217;е и Опере есть прекрасные ключевые слова (рекомендуется ознакомиться со статьей перед тем, как читать дальше). Статья действительно очень и очень хорошая, поскольку наверняка сподвигнет не одну сотню читателей ХХ на дальнейшие исследования своих браузеров. Но там не упоминаются две немаловажные особенности, о которых и попробую сейчас рассказать.</p>
<p><strong>Фокус первый</strong>. Лично мне надоел Яндекс как поисковая система &#8212; в большинстве случаев результаты поиска замусорены оптимизаторским спамом и дорвеями. Зато очень нравится <a href="http://ajax.nigma.ru">Нигма</a>, тем более, что от них мне скоро придёт бесплатная книжка :) Но пальцы всё помнят, и, получив от мозга команду &laquo;набрать адрес поисковика&raquo;, пишут &laquo;ya.ru&raquo; и жмут enter. Чтобы написать &laquo;nigma.ru&raquo;, надо приложить дополнительное мозговое усилие и послать пальцам команду &laquo;набрать nigma.ru&raquo;.</p>
<p>Достаточно создать две закладки для адреса <a href="http://ajax.nigma.ru">http://ajax.nigma.ru</a>, назначить им ключевые слова &laquo;ya.ru&raquo; и &laquo;www.ya.ru&raquo; и вуаля! &#8212; яндекс открывается гораздо реже.</p>
<p>Используя тот же принцип, можно пошутить над соседом по работе &#8212; создать глубоко в меню закладку на какой-нибудь gay.ru и назначить этой закладке адрес его любимого сайта (auto.ru там или еще что-нибудь). Товарищ будет долго недоумевать :)</p>
<p><strong>Фокус второй</strong>.<!--more--> Наши программисты написали систему работы с запросами, называется sustainer, работает через веб-интерфейс. Каждому CR (Change Request, запрос на изменение функциональности) назначается свой персональный номер и к нему можно обратиться по адресу http://sustainer/reqXXX. Можно просматривать списки запросов, отсортированные и отфильтрованные по разным параметрам &#8212; по ответственному за исполнение, приоритету, программному продукту, к которому может относиться запрос, и т.д. Думаю, подобная система используется во многих более-менее серьезных программистских фирмах. Это была преамбула :)</p>
<p>Теперь амбула. Для того, чтобы открыть реквест с известным номером, рядовой сотрудник, вооруженный до зубов Internet Explorer&#8217;ом, запустит этот недобраузер, ткнет на закладку &laquo;sustainer&raquo; (если он ещё не прописан в качестве домашней страницы), ткнёт на первый попавшийся реквест, ткнёт в строку адреса, сотрет всю строку после &laquo;http://sustainer/req&raquo; (при переходе на реквест по ссылке из списка передаётся куча параметров), при этом рискуя стереть лишнего, напишет нужные ему цифры и только после этого попадёт в свой реквест. </p>
<p>Естественным решением было бы сделать закладку на http://sustainer/req%s и попадать в реквесты, набирая в адресной строке req 123. И это действительно работало, но по прошествии какого-то времени у этого подхода обнаружился серьёзный недостаток: очень часто хочется просто написать req и попасть на главную страницу нашего сустейнера. А вместо этого открывается страница http://sustainer/req%s с сообщением о том, что реквест с таким номером отсутствует.</p>
<p>Правильное решение было найдено <a href="http://forums.mozillazine.org/viewtopic.php?t=333466">здесь</a>. Оно базируется на двух китах:<br />
1. в строке адреса можно <a href="javascript:window.alert('preved!');">использовать javascript</a> :) Напишите в строке адреса: javascript:window.alert(&#39;Preved!&#39;); и вы будете приятно удивлены. На этом же базируются многочисленные букмарклеты, гугл вам в помощь.<br />
2. если указано ключевое слово, но не указан параметр, то %s и передаётся.</p>
<p>На основе вышеуказанных условий можно сформулировать техническое задание: если то, что написано после ключевого слова, совпадает с %s, то показать страницу по умолчанию (список запросов). Если не совпадает &#8212; конкретный запрос с прибавлением того, что написано.</p>
<p>Реализация этого ТЗ на javascript выглядит так:</p>
<blockquote><p><code>javascript:if(&#39;%s&#39;==String.fromCharCode(37,115))<br />
&nbsp;&nbsp;&nbsp;&nbsp;location.href=&#39;http://sustainer/?assigned=me&#038;module=www&#39;;<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;location.href=&#39;http://sustainer/req%s&#39;;</code></p></blockquote>
<p>Ст&oacute;ит записать это в одну строчку, и по ключевому слову req будет открываться нужная страница, содержащая список запросов, относящихся к модулю &laquo;www&raquo; и назначенных на авторизированного в системе пользователя:</p>
<input type="text" name="ex1" size="80" onFocus="javascript:this.select();" value="javascript:if(&#39;%s&#39;==String.fromCharCode(37,115)) location.href=&#39;http://sustainer/?assigned=me&#038;module=www&#39;;else location.href=&#39;http://sustainer/req%s&#39;;" />
<p>Казалось бы, все удовлетворены. Но&#8230; нет в жизни совершенства! Следующая итерация:</p>
<blockquote><p><code>javascript:if(&#39;%s&#39;==String.fromCharCode(37,115))<br />
&nbsp;&nbsp;&nbsp;&nbsp;location.href=&#39;http://sustainer/?assigned=me&#038;module=www&#39;;<br />
else if (&#39;%s&#39;==&#39;new&#39;)<br />
&nbsp;&nbsp;&nbsp;&nbsp;location.href=&#39;http://sustainer/new&#39;;<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;location.href=&#39;http://sustainer/req%s&#39;;</code>
</p></blockquote>
<p>В одну строчку:</p>
<input type="text" name="ex2" size="80" onFocus="javascript:this.select();" value="javascript:if(&#39;%s&#39;==String.fromCharCode(37,115)) location.href=&#39;http://sustainer/?assigned=me&#038;module=www&#39;; else if (&#39;%s&#39;==&#39;new&#39;) location.href=&#39;http://sustainer/new&#39;;else location.href=&#39;http://sustainer/req%s&#39;;" />
<p>Теперь, если ввести в строке адреса &laquo;req new&raquo;, то откроется форма добавления нового запроса.</p>
<p>Расширять функциональность ключевых слов в сторону придания им сходства с командами можно бесконечно: в поле ввода адреса можно вписать мегабайты кода!</p>
<p>Думаю, основная идея понятна. Дальнейшие исследования можно проводить, отталкиваясь от этой заметки и от <a href="http://kb.mozillazine.org/Using_keyword_searches">оригинальной статьи</a> на <a href="http://kb.mozillazine.org">kb.mozillazine.org</a></p>
<p><strong>Update.<br />В <a href="http://goodvin.pp.ru/?p=201">следующей заметке</a> описывается использование данной технологии для более удобного доступа к ЖЖ.</strong></p>
]]></description>
		<wfw:commentRss>http://bappoy.pp.ru/2007/10/08/firefox-replacing-search-engine-and-advanced-keywords.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
