Здравствуйте.
Я являюсь пользователем Оперы уже около 5 лет, но при разрабoтке страниц я пользуюсь Firefox'ом т.к. он предлагает мне более удобные средства для отлова ошибок, валидации и т.п., к тому же это полезно, если каждодневный брaузер и рабочий инструмент различаются.
Но дело в том, что в Файрфоксе при всех его преимуществах, настройки по умолчанию заставляют оперопользователя все время чувствовать себя как в гостях. Я не говорю здесь о интерфейсе, а именно о поведении браузера. Я попытался изменить это и вот шаги которые я предпринял:
UPD: пока писал, то топик так увеличился, что его можно скорее назвать пособием для тюнинга Firefox — загляните внутрь даже если вы не оперщик. Если же вы матерый пользователь FF, то добро пожаловать с вашими уточнениями и комментариями :)
Введение: все что я делал я тестировал на Firefox 3.0.5 с Интернетом 16 МБ/с, CPU Core Duo 6300 и 4 ГБ оперативки. Может быть что на вашей конфигурации вы достигнете совсем других результатов. Почти все изменения проводятся в about:config, если вы не уверены что опция вам нужна, лучше не меняйте ее.
Быстрая Навигация
Что более всего мне мешало, так это то, как Опера и Firefox ведут себя при навигации Вперед/Назад — Опера мгновенно показывает все, как бы вы глубоко не перемещались по истории таба. Firefox же, как будто одержимый IE, зачем-то загружает большинство страниц опять из интернета, соответственно о мгновенности речь идти не может. К тому же, если вы заполняли форму в Опере, и вернулись к ней с помощью команды Назад, все заполненые вами поля (кроме password) останутся заполненными, но т.к. Firefox перезагружает страницу данные будут утеряны.
Я хотел чтобы при возврате назад браузер не перезагружал страницу, а показывал мне именно ту, которую я видел перед этим. Если честно, то Опера своим поведением нарушает RFC (
раздел 14.9.2 RFC 2616). Например если вы были 'залогинены'на странице а потом вышли, вы сможете нажать Назад и увидеть ее содержимое. Это можно рассматривать как нарушение безопасности, представьте себе компьютер в интернет-кафе в котором вы смотрели почту и ушли, а другой пользователь начнет нажимать назад.
Но мы ведь
опытные пользователи и знаем что делаем, поэтому поехали:
Включаем Fastback:
browser.sessionhistory.max_total_viewers
Здесь задаются настройки Fastback — это количество страниц, которые сохраняются в памяти для быстрого перехода коммандами Вперед/Назад.
По умолчанию здесь -1, соотв. браузер сам решает сколько страниц сохранять в зависимости от оперативной памяти:
RAM Страниц
32MB 0
64MB 1
128MB 2
256MB 3
512MB 5
1GB 8
2GB 8
4GB 8
У меня 4 GB оперативки — я выставил этот параметр в 15 — мне памяти не жалко.
Обратите внимание, этот параметр задает количество страниц не для таба, а вообще для броузера.
Настраиваем кэш
browser.cache.check_doc_frequency
По умолчанию стоит 3, т.е. обновлять кэш, опираясь на Last-Modified и Control-Cache заголовки. Предлагаю изменить значение на 0, тогда Firefox будет обновлять кэш страницы при каждом новом запуске браузера.
Опера вообще игнорирует настройки кэша при навигации Вперед/Назад, чтобы обновить страницу, необходимо исполнить Refresh или Reload. Firefox ведет себя более последовательно, а именно:
- Cache-Control: no-cache Firefox не будет хранить страницу на диске, но она будет сохранена в memory cache и. например, при команде Назад, будет показана страница из кэша.
- Cache-Control: no-store страница не будет сохранена ни в памяти ни на диске, и при любой попытке показать ее будет исполнен полный POST/GET запрос
Это все было бы отлично, но многие сайты злоупотребляют
Cache-Control: no-store, в результате тратится время пользователя и траффик. К сожалению вышеназванная опция (browser.cache.check_doc_frequency) не отключает такое поведение браузера, соответственно если вам нужно полное соответствие поведению Оперы необходимо пользоваться софтом который изменяет заголовки, например Proxomitron'ом
Увеличиваем обьем памяти для кэша:
browser.cache.memory.capacity
Текущее использование можно посмотреть здесь: about:cache?device=memory
У меня он был установлен по-умолчанию в 30МБ, я увеличил до 96, но изменений не заметил.
Список закрытых табов:
browser.sessionstore.max_tabs_undo
В Опере, я привык закрывать табы без лишней мысли, ведь у меня есть длиннющий список закрытых страниц.
Непонятно почему, но в Firefox он по-умолчанию ограничен 5, поменял на 30.
Паралельные запросы HTTP 1.1
network.http.pipelining
Вкратце: эта опция разрешает в
одном и том же соединении с сервером посылать одновременно несколько запросов паралельно, а не последовательно(ожидая ответа на предыдущие). Подробнее:
www.mozilla.org/projects/netlib/http/pipelining-faq.html
У Оперы pipelining включен по умолчанию, поэтому включаем его и мы. Для того чтобы параллельные запросы могли работать необходимы Keep-Alive (
network.http.keep-alive=true) и HTTP 1.1 (
network.http.version=1.1).
Максимальное количество паралельных запросов
network.http.pipelining.maxrequests
Некоторые руководства рекомендуют ставить количество максимальных запросов в 30. Я бы этого вам не советовал, спецификация HTTP/1.1 не ограничивает число запросов, но рекоммендует 2 вообще для Keep-Alive. Я оставил значение по-умолчанию — 4.
UPD: Как уточнил
Alaunquirie , в Firefox, вообще стоит внутреннее ограничение этого параметра до 8.
Максимальное количество соединений с сервером
network.http.max-connections-per-server
Если вы здесь выставите слишком большое число, то некоторые серверы могут определяют такое количество запросов от вашего IP как DDOS атаку и ваши запросы в лучшем случае будут обработаны по очереди, а в худшем ваш IP получит бан и вам придется ждать пока вам опять не разрешат доступ.
Я поставил его в 8(я встречал именно это значение на сайтах по настройке Оперы), хотя в FF 3 по умолчанию 15.
Максимальное количество постоянных(открытых) соединений с сервером
Network.http.max-persistent-connections-per-server
Как я писал выше,
RFC2616 рекоммендует максимум 2 Keep-alive запроса. В Firefox 3 по-умолчанию стоит 6, пусть так и остается.
Максимальное число соединений:
network.http.max-connections
Ограничивает число максимальных одновременных соединений Огненного Лиса. Его можно спокойно поднять, если у вас быстрый интернет и вы любите наоткрывать вкладок на заднем фоне, которые грузятся пока вы продолжаете смотреть основную страницу. У меня он установлен с 16МБ/с интернетом в 64.
Задержка стартового рендеринга страницы
nglayout.initialpaint.delay
Если в Опере вы включали такой параметр как
Browsing->Redraw Instantly то вам имеет смысл это сделать и в Файрфоксе. Этот параметр определяет, через какое время после того как получена первая информация, начинать рендеринг. Имеет смысл на быстрых каналах. Недостаток — страница может перерисовываться чаще.
Значение по-умолчанию 250мс, я установил в 0 и доволен.
Осталась совсем малость:
Я привык к быстрому поиску в Опере по нажатию '
.' или '
/' и '
,' для поиска в URL.
В Firefox подобное существует по F3 или Ctrl-F, но меня раздражало то что панелька не пропадала после поиска, плюс когда я опять вызывал поиск в нем находилось старое значение и мне приходилось его стирать.
Погуглив, я нашел что был слишком ленив — при нажатии '
/' поиск на странице ведет себя точно так же как и в опере ( а апостроф —
' ищет в ссылках).
Я попытался было установать привычные мне запятую и точку, но с удивлением понял что в Firefox нельзя менять настройки клавиатурных сокращений!
Но так как это FF, то я нашел аддон
keyconfig, который добавляет возможность редактирования сокращений. К сожалению в нем нет комманд для QuickFind, и их надо создавать самому — жмем в keyconfig на «Add a new key» и добавляем:
- Для обычного QuickFind:
gFindBar.startFind(gFindBar.FIND_TYPEAHEAD);
gFindBar._setFindCloseTimeout();
- Для QuickFind по ссылкам:
gFindBar.startFind(gFindBar.FIND_LINKS);
gFindBar._setFindCloseTimeout();
И назначаем привычные нам клавиши.
Я пока не придумал, что бы мне изменить еще, но с удовольствием пользуюсь настроенным таким образом Firefox'ом.
upd
В Опере я очень часто пользуюсь коммандой контекстного меню для выделенного текста «Go to Web Address», которая вставляет этот текст в адресную строку и переходит по URL/ищет в поисковике. Благодаря комментирующим я нашел замечательный аддон для FF
URL Link, который не только добавляет такую функциональность, но и предоставляет дополнительные возможности и опции для тонкой настройки.
_________
Текст подготовлен в
ХабраРедакторе
комментарии (66)
Это я не к автору комента, а к коментирующим.
functions for keyconfig
и это всего лишь google://ctrl+z firefox undo
Может еще кто подскажет как в ФФ сделать навигацию по табам через кнопки 1, 2(как в опере 9.2)? Нагуглить ничего не удалось.
Уточню еще: 1 — пред. таб, 2 — следующий, а не клавиша = номер таба.
Следующий таб — ctrl+Tab, предыдущий — ctrl+shift+Tab. Уже упомянутый keyconfig, видимо, опять же к месту :)
gBrowser.mTabContainer.advanceSelectedTab(-1,true); — это предыдущий таб,
gBrowser.mTabContainer.advanceSelectedTab(1,true); — это следующий.
Плюс в том, что можно использовать одно сочетание клавиш не только в ФФ и опере, но и в любимых текстовых редакторах с табами
Сделайте открытие в новом окне при нажатии шифта:
— веденных адресов в строку адреса.
— нажатых ссылок.
— отправляемых форм.
Про speed dial смотрите мой коммент ниже.
Спасибо, но фастдиал — глючный хлам… А мне не хватает как раз speedDial…
1. Greasemonkey — позволил улучшить gmail. Например из тегов сделал папкотеги. Жить без этого не могу.
2. Tab Mix Plus — потюнил табы. Самое главное — перенёс их вниз. Не могу иначе.
3. Tiny Menu — превратил строку меню в один пункт меню тем самым сэкономив места под страницу. В Опере бы так.
4. BetterGmail — функционал по улучшению gmail с пом. greasemonkey в отдельном плагине с настройками.
5. Close Button — убрал кнопки закрытия табов с них самих в меню.
6. Fast Dial — аналог оперовского, но настраиваемый. Не пользуюсь.
7. Firebug.
8. Google Gears.
3. operawiki.info/CustomButtons#menu
1. 2. 5. — для этого всего по плагину? Я люблю тебя, Опера.
Я однажды увидел на хабре скриншот плагина для фф, позволяющий сделать вкладки слева, тыкнул правой кнопкой, выбрал «настроить» и сделал себе так-же. С тех пор так и работаю. Чувствуете разницу? :)
Хмм, а нету к файрфоксу какого-нить плагина, чтоб внешние ссылки открывал в другом браузере?
Вот за это большое Вам спасибо!!!
Ну ещё бы, greasemonkey под оперой не работает (я знаю про попытки это дело заработать и что некоторые так таки работают — те, что нужны мне — не работают, проверено).
Пятый пункт тут лишний (эта функциональность покрывается вторым).
насчёт 3 — у меня меню, кнопки, закладки и т.п. одной строкой — осталось как раз только меню ещё меньше сделать.
Когда я включаю его в фаерфоксе, то у меня бывает не грузятся набранные адреса, а за место них например гугл. Или тот же хабр. Набираю я к примеру site.com/page123.php?a=1, нажимаю интер и грузится google.com/page123.php?a=1. И так со всеми адресами. (Правда если раз 10 быстро нажимать f5, то нужный сайт все таки загружается.)
В опере через прокси все работает прекрасно.
Никто не сталкивался с этим? Это баг? Или это у меня руки кривые? Или я что-то не так делаю? Или еще что?
Чтобы было ещё похожее на оперу, есть «tabs open relative».
Там это есть, одна из галок.
Правда я нашел другой аддон: URL Link.
Дописал топик.
Увидел пост, думаю сейчас подтюнингую лиса. Практически все ваши изменения у меня стоят «по-умолчанию».
Кэш у меня по-умолчанию равен 65536(O_o).