Infocatcher
Мне спокойнее работать поближе к стандартам (поэтому не хочется ничего переопределять): так код можно использовать и в других случаях, не только с CustomButton. Да и в случае с addEventListener причина тоже не догматическая: хочется оставлять на будущее максимально доступное место для манёвров.
Отсутствует
Кнопкой CB можно реализовать открытие закладок, журнала в новой вкладке?
Отсутствует
Кнопкой CB можно реализовать открытие закладок, журнала в новой вкладке?
skynet281978 ,Да
getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/places/places.xul");
getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/history/history-panel.xul");
getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/bookmarks/bookmarksPanel.xul");
Отсутствует
потому что анонимная функция не может восприниматься как один и тот же обработчик, она всегда создаётся заново
Дело не в анонимности функции как таковой, а в том, что обычно никто не утруждает себя хранением ссылки на функцию-обработчик; без хранимой ссылки не происходит ни отвязки обработчика, ни установления факта, что ранее привязанный обработчик - тот же самый (идентичность, определяемая по ссылке).
If multiple identical EventListeners are registered on the same EventTarget with the same parameters, the duplicate instances are discarded. They do not cause the EventListener to be called twice, and since the duplicates are discarded, they do not need to be removed manually with the removeEventListener method.
MDN в данном случае несколько вводит в заблуждение тем, что registered on the same EventTarget with the same parameters вовсе не есть достаточное условие того, что это identical EventListeners. Я некогда столкнулся вот с таким вопросом - идентичность вроде бы была самой что ни на есть, но мимо механизма идентификации листенеров.
homo_nudus пишетOnclick обычно советуют заменять на addEventListener
Отделение разметки от кода ради отделения разметки от кода?
Ну почему же. Например, ради мультикастности листенеров, которой нет при их привязке через разметку, и есть при привязке в коде.
Отсутствует
Крошка Ру
все три кнопки открывают свою вкладку автоматически без запроса после перезапуска или например после настройки панелей инструментов (где кнопки все лежат).
и закладки и журнал открываются при запросе в окне как и есть стандартно.
Отсутствует
okkamas_knife проверял каждую кнопку и с этим вариантом - открываются в окне как обычно.
и перезагружал на всякий случай.
Отсутствует
hydrolizer
Спасибо.
Отсутствует
все три кнопки открывают свою вкладку автоматически без запроса после перезапуска или например после настройки панелей инструментов (где кнопки все лежат).
skynet281978, Странно у меня они по собственной инициативе ничего не открывают - сидят себе тихо пока не нажмёшь
и закладки и журнал открываются при запросе в окне как и есть стандартно.
код нашёл в этой теме и использую для открытия любых адресов , и ничего такого не происходило ни разу - всегда открывались в новой вкладке
А галочка на "Вместо новых окон открывать новые вкладки" установлена?
.... хотя там в коде же прописано вроде открытие таба
Отсутствует
Крошка Ру на 13.0.1 и на практически чистом фаерфокс 14.b1 не работает.
галочка отмечена.
переустановил, теперь не создают после перезагрузки автоматически вкладки, но и не работают.
может где то какие-то настройки не дают?
Имя
Firefox
Версия
13.0.1
User Agent
Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1
Папка профиля
Показать папку
Включённые плагины
about:plugins
Конфигурация сборки
about:buildconfig
Сообщения о падениях
about:crashes
Использование памяти
about:memory
Расширения
Имя
Версия
Включено
ID
Adblock Plus
2.1.1
true
{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}
BetterPrivacy
1.68
true
{d40f5e7b-d2cf-4856-b441-cc613eeffbe3}
BrowserProtect
1.1.4
true
browserprotect@browserprotect.com
Custom Buttons
0.0.5.5
true
custombuttons@xsms.org
Customizations для Adblock Plus
1.0.2a.50
true
customization@adblockplus.org
DOM Inspector
2.0.12
true
inspector@mozilla.org
Download Manager Tweak
0.9.5
true
{F8A55C97-3DB6-4961-A81D-0DE0080E53CB}
Element Hiding Helper для Adblock Plus
1.2.3
true
elemhidehelper@adblockplus.org
Fast Dial
4.2.2
true
fastdial@telega.phpnet.us
FireGestures
1.6.16
true
firegestures@xuldev.org
Grab and Drag
3.1.0
true
{477c4c36-24eb-11da-94d4-00e08161165f}
HTTPS-Everywhere
2.1
true
https-everywhere@eff.org
Lazarus: Form Recovery
2.3
true
lazarus@interclue.com
Locationbar²
1.0.6
true
locationbar2@design-noir.de
Memory Fox
7.4
true
{E173B749-DB5B-4fd2-BA0E-94ECEA0CA55B}
Menu Editor
1.2.7
true
{EDA7B1D7-F793-4e03-B074-E6F303317FB0}
Omnibar
0.7.13.20120613
true
omnibar@ajitk.com
Personal Menu
5.1.0
true
CompactMenuCE@Merci.chao
PopupInspector
0.1
true
PopupInspector@czcp.co.cc
Preferences Cleaner
0.3.1
true
pcln@cycledlm.gmail.com
Russian-English spellchecking Словарь Английских и Русских слов
1.3
true
kostolom@bk.ru
Save File to
2.3.3
true
savefileto@mozdev.org
SearchPreview
5.8
true
{EF522540-89F5-46b9-B6FE-1829E2B572C6}
Secure Login
0.9.9
true
secureLogin@blueimp.net
Stay-Open Menu
2.0rc
true
{3541c267-2580-4144-854e-2e05c8670121}
Stylish
1.2.6
true
{46551EC9-40F0-4e47-8E18-8E5CF550CFB8}
Tab Mix Plus
0.4.0.2
true
{dc572301-7619-498c-a57d-39143191b318}
Text Link
4.0.2011021601
true
{54BB9F3F-07E5-486c-9B39-C7398B99391C}
Toolbar Appmenu Button
0.72pre
true
toolbar-appmenu-button@hanubeki.info
url-addon-bar
0.1.4
true
urlAddonBar@zbinlin
Wiktionary and Google Translate
5.10
true
googledictionary@toptip.ca
WOT
20120515
true
{a0d7ccb3-214d-498b-b4aa-0e8fda9a7bf7}
Yes popups
0.9.8b
true
yespopupsV1@patheticcockroach.com
Yet Another Smooth Scrolling
3.0.21
true
yetanothersmoothscrolling@kataho
Кто украл мои картинки?
0.0.7
true
images@wink.su
Менеджер сессий
0.7.9
true
{1280606b-2510-4fe0-97ef-9b5a22eafe30}
Add to Search Bar
2.0
false
add-to-searchbox@maltekraus.de
Add-on Manager Context Menu
0.0.20120510.02
false
amcontextmenu@loucypher
Clippings
3.1.7
false
{91aa5abe-9de4-4347-b7b5-322c38dd9271}
DownloadHelper
4.9.9
false
{b9db16a4-6edc-47ec-a1f4-b86292ed211d}
Drag Tab as Shortcut
1.01
false
dragtabasshortcut@antontitov.com
Edit Bookmark Plus
2.2.2
false
edit-bookmark-plus@kashiif-gmail.com
Extended Statusbar
1.5.8
false
{daf44bf7-a45e-4450-979c-91cf07434c3d}
FEBE
7.0.3.5
false
{4BBDD651-70CF-4821-84F8-2B918CF89CA3}
Google Documents Viewer
0.10.1
false
jid0-BRAJAX3fUCLqytnbXp3pcmBpMK8@jetpack
GridTube
3.0.0
false
gridtube@gridtube.txt
Menu Icons Plus
2.2
false
menuiconsplus@codedawn.com
More In Content UI
0.1b1
false
moreICUI@Heartripper
Russian Hunspell spellchecking dictionary
1.0.20120501
false
hunspell-ru@dictionaries.addons.mozilla.org
Saved Password Editor
2.6.2
false
savedpasswordeditor@daniel.dawson
Stop YouTube Autoplay
0.2.91
false
jid0-Pm0nbsggUvL00CBoW6YwCaqv8bk@jetpack
Tab Scope
1.1.6
false
tabscope@xuldev.org
UnloadTab
0.22
false
unloadtab@firefox.ext
YouPop
0.4.2
false
{921880f2-a39f-4a30-89e5-c0189b09ebab}
Zoom Page
4.2
false
zoompage@DW-dev
Важные изменённые настройки
Имя
Значение
accessibility.typeaheadfind.flashBar
0
browser.cache.disk.capacity
0
browser.cache.disk.smart_size.enabled
false
browser.cache.disk.smart_size.first_run
false
browser.display.focus_ring_width
0
browser.places.importBookmarksHTML
false
browser.places.smartBookmarksVersion
3
browser.sessionstore.interval
300000
browser.sessionstore.max_tabs_undo
25
browser.startup.homepage
about:blank
browser.startup.homepage_override.buildID
20120614114901
browser.startup.homepage_override.mstone
13.0.1
browser.tabs.closeWindowWithLastTab
false
browser.tabs.insertRelatedAfterCurrent
false
browser.tabs.loadBookmarksInBackground
true
browser.tabs.selectOwnerOnClose
false
dom.ipc.plugins.enabled
false
dom.popup_allowed_events
extensions.lastAppVersion
13.0.1
general.autoScroll
false
gfx.direct3d.prefer_10_1
true
keyword.URL
https://encrypted.google.com/search?hl=ru&source=hp&biw=1280&bih=685&q=
network.cookie.lifetimePolicy
2
network.cookie.prefsMigrated
true
network.http.pipelining
true
network.http.pipelining.maxrequests
8
network.http.proxy.pipelining
true
places.database.lastMaintenance
1341608811
places.history.expiration.max_pages
1000
places.history.expiration.transient_current_max_pages
1000
privacy.clearOnShutdown.extensions-tabmix
true
privacy.clearOnShutdown.history
false
privacy.clearOnShutdown.offlineApps
true
privacy.cpd.cookies
false
privacy.cpd.downloads
false
privacy.cpd.extensions-sessionmanager
false
privacy.cpd.extensions-tabmix
true
privacy.cpd.history
false
privacy.cpd.offlineApps
true
privacy.cpd.sessions
false
privacy.donottrackheader.enabled
true
privacy.popups.disable_from_plugins
3
privacy.sanitize.migrateFx3Prefs
true
privacy.sanitize.sanitizeOnShutdown
true
privacy.sanitize.timeSpan
0
security.dialog_enable_delay
0
security.warn_viewing_mixed
false
Графика
Описание видеокарты
NVIDIA GeForce GT 440
Код производителя
0x10de
Код устройства
0x0de0
Объём видеопамяти
1023
Драйвера видеокарты
nvd3dum nvwgf2um,nvwgf2um
Версия драйвера
8.17.13.142
Дата разработки драйвера
5-15-2012
Direct2D включён
true
DirectWrite включён
true (6.1.7601.17514)
Параметры ClearType
Параметры ClearType не найдены
Визуализатор WebGL
Google Inc. -- ANGLE (NVIDIA GeForce GT 440 ) -- OpenGL ES 2.0 (ANGLE 1.0.0.963)
Аппаратно ускоренные окна
1/1 Direct3D 10
AzureBackend
direct2d
JavaScript
Инкрементальный GC
1
Версии библиотек
Ожидаемая минимальная версия
Используемая версия
NSPR
4.9
4.9
NSS
3.13.4.0 Basic ECC
3.13.4.0 Basic ECC
NSS Util
3.13.4.0
3.13.4.0
NSS SSL
3.13.4.0 Basic ECC
3.13.4.0 Basic ECC
NSS S/MIME
3.13.4.0 Basic ECC
3.13.4.0 Basic ECC
Отредактировано skynet281978 (11-07-2012 15:58:38)
Отсутствует
переустановил, теперь не создают после перезагрузки автоматически вкладки, но и не работают.
может где то какие-то настройки не дают?
skynet281978, Может какие расширения влияют ? А попробуйте отключить их все кроме конечно Custom Buttons или вообще на новом профиле протестируйте кнопку
... а если только More In Content UI отключить?
Отредактировано Крошка Ру (11-07-2012 17:09:04)
Отсутствует
Крошка Ру отключал. но проверял как писал ранее и на 14 версии, тоже самое. там установлены CB и стайлиш с парой стилей, которые тоже отключал.
на чистой фаерфокс тоже самое.
Отредактировано skynet281978 (11-07-2012 17:43:37)
Отсутствует
skynet281978, Не понимаю в чём тогда причина может быть
Отсутствует
Крошка Ру
и закладки и журнал открываются при запросе в окне как и есть стандартно.
.......
проверял как писал ранее и на 14 версии, тоже самое. там установлены CB и стайлиш с парой стилей, которые тоже отключал.
на чистой фаерфокс тоже самое.
Это не возможно, код должен открывать вкладки !
Отсутствует
Отсутствует
Извиняюсь, что ввёл в заблуждение. Всё работает.
Человеческая невнимательность...
Кнопка Закладки и Журнал
Отредактировано skynet281978 (12-07-2012 09:50:36)
Отсутствует
Кнопка Закладки и Журнал
можно ли сделать чтобы действие этой кнопки происходило только при нажатии этих пунктов в кнопке App menu?
Использование: положите код в любую Custom Buttons кнопку, в инициализацию. Не обязательно создавать новую CB кнопку, можно использовать уже существующую.
// Открывать из главного меню Firefox 'Показать весь журнал' и 'Показать все закладки' как вкладки ........................................ // обработчик отслеживает все команды .... window.addEventListener("command", getCommand, true); this.onDestroy = function() { window.removeEventListener("command", getCommand, true); }; function getCommand(event) { var command = String(event.target.getAttribute("oncommand")); var command = command.replace(/\;/g, ""); // в >FF16 все команды заканчиваются на ';' // если нажать в главном меню Firefox на пункт меню 'Показать весь журнал' .... if ( command == "PlacesCommandHook.showPlacesOrganizer('AllBookmarks')" ) { event.preventDefault(); event.stopPropagation(); getBrowser (). selectedTab = getBrowser (). addTab ('chrome://browser/content/places/places.xul'); // обработчик меняет иконку таба и удаляет сам себя.... gBrowser.addEventListener("DOMContentLoaded", function(e) { setTimeout(function() { gBrowser.mCurrentTab.setAttribute('image','chrome://browser/skin/places/allBookmarks.png'); }, 0) gBrowser.removeEventListener("DOMContentLoaded", arguments.callee, true); }, true); } // если нажать в главном меню Firefox на пункт меню 'Показать весь журнал' .... if ( command == "PlacesCommandHook.showPlacesOrganizer('History')" ) { event.preventDefault(); event.stopPropagation(); getBrowser (). selectedTab = getBrowser (). addTab ('chrome://browser/content/history/history-panel.xul'); // обработчик меняет иконку таба + название и удаляет сам себя.... gBrowser.addEventListener("DOMContentLoaded", function(e) { content.document.title = "Журнал"; setTimeout(function() { gBrowser.mCurrentTab.setAttribute('image','chrome://browser/skin/places/history.png'); }, 0) gBrowser.removeEventListener("DOMContentLoaded", arguments.callee, true); }, true); } };
Отредактировано bunda1 (12-07-2012 21:38:06)
Отсутствует
bunda1 спасибо, значительно лучше.
И есть пару вопросов: сейчас Журнал открывается в новой вкладке как Журнал отдельно, можно ли сделать чтобы журнал открывался также как открываются Все закладки, но фокус на Журнале как здесь
getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/bookmarks/bookmarksPanel.xul");
Отсутствует
И можно добавить к этой кнопке которую ты выше разместил "Открывать из главного меню Firefox 'Показать весь журнал' и 'Показать все закладки' как вкладки" действие чтобы открывались вкладки и при нажатии из Главного меню на Закладки, Журнал?
Не понял. на Закладки, Журнал
А вот с пустой пустыми подсказками проблема, их легко убрать через Stylish:
@-moz-document url-prefix("chrome://browser/content/bookmarks/bookmarksPanel.xul"), url-prefix("chrome://browser/content/places/places.xul"), url-prefix("chrome://browser/content/history/history-panel.xul"){ tooltip {display:none!important; } }
но тогда они исчезаю из боковой панели и вообще из Библиотеки открытой в вкладке.
можно ли сделать чтобы журнал открывался также как открываются Все закладки, но фокус на Журнале как здесь
Легко можно сделать чтобы журнал открывался также как открываются Все закладки. А вот как сделать фокус на Журнале я даже не представляю. У него нет ID.
Отредактировано bunda1 (13-07-2012 22:18:33)
Отсутствует
Не понял. на Закладки, Журнал
skynet281978 пишет:
можно ли сделать чтобы журнал открывался также как открываются Все закладки, но фокус на Журнале как здесь
Легко можно сделать чтобы журнал открывался также как открываются Все закладки. А вот как сделать фокус на Журнале я даже не представляю. У него нет ID.
хотелось бы полную замену дополнения More In Content UI. Может если разобрать его, то можно узнать что нужно?
Так как не особо разбираюсь нашёл там, что можно поменять заголовок вкладок и фавиконку.
Отсутствует
Может кому то нужно. Сделал простой код для блокировки повторного запуска функций и обработчиков при открытии настройки панелей но с возможностью обновления кнопки. На место alert(arguments.callee ); в вкладке инициализации помещаем свои функции и обработчики которые не должны повторно запускаться при открытии настройки панелей.
// Блокировать повторный запуск функций и обработчиков при открытии настройки панелей но разрешить обновление кнопки ........................ this.onDestroy = function(reason) { if ( reason == "update") this.removeAttribute("stop"); }; if (this.hasAttribute("stop")) return; // запуск функций и обработчиков .... alert(arguments.callee); // устанавливаем флаг, чтобы функции и обработчики не исполнялась дважды this.setAttribute("stop","true");
Отсутствует
хотелось бы полную замену дополнения More In Content UI. Может если разобрать его, то можно узнать что нужно?
Так как не особо разбираюсь нашёл там, что можно поменять заголовок вкладок и фавиконку.
Попробую, мне тоже интересно.
И можно добавить к этой кнопке которую ты выше разместил "Открывать из главного меню Firefox 'Показать весь журнал' и 'Показать все закладки' как вкладки" действие чтобы открывались вкладки и при нажатии из Главного меню на Закладки, Журнал?
Я все равно не понял!
Отсутствует
Может кому то нужно.
Вернуть иконки сайтов в строке адреса.
Положите код в любую Custom Buttons кнопку, в инициализацию.
// Вернуть иконки сайтов в строке адреса ............................................................................................. (function() { // Блокировать повторный запуск функций и обработчиков при открытии настройки панелей .... if (document.getElementById('fav-image')) return; var identityBox = document.getElementById('identity-box'); imgBox = document.createElement('image'); imgBox.setAttribute('id', 'fav-image'); imgBox.setAttribute('class', 'favimage'); identityBox.insertBefore(imgBox, identityBox.firstChild); // стиль для иконки сайта в строке адреса .... document.getElementById('fav-image').setAttribute('style','height:16px!important; width:16px!important; margin: 0 2px !important;'); document.getElementById('page-proxy-favicon').setAttribute("style", "visibility: collapse;"); // .... function changeFavicon(event) { var tabImg = gBrowser.selectedTab.image; var favicon = document.getElementById('fav-image'); if (tabImg) favicon.setAttribute('style','list-style-image:url(' + tabImg + '); -moz-image-region:auto'); else favicon.setAttribute('style','list-style-image:url("chrome://global/skin/icons/folder-item.png")!important; -moz-image-region: rect(0, 16px, 16px, 0) !important;'); }; // добавляем обработчики для табов ..... gBrowser.tabContainer.addEventListener("TabSelect", function(event){ changeFavicon(event) }, false); gBrowser.addEventListener("pageshow", function(event) { // стоп, если открыть другие владки в фоновом режиме if (event.target.location.href !== getBrowser().currentURI.spec) return; setTimeout(function() { changeFavicon(event) }, 0); }, true); })();
Отредактировано bunda1 (20-07-2012 00:04:12)
Отсутствует
Привет всем !
Подскажите код-пример, который при появлении окошка
( например Stylish : Новый стиль )
изменяет какой-либо его элемент
( допустим заполняет поле ''Название'' словом ''test'' ).
Собственно интересует следующее:
1. как отлавливать возникновение таких окон.
2. как обращаться к элементам этих окон.
Отсутствует
Отредактировано Крошка Ру (20-07-2012 19:43:26)
Отсутствует
1. как отлавливать возникновение таких окон.
2. как обращаться к элементам этих окон.
1. nsIWindowWatcher.registerNotification()
или nsIObserverService.addObserver(), если достаточно только оповещения о "domwindowopened".
2. Дождаться загрузки окна (addEventListener() и "DOMContentLoaded" или "load"), проверить, что это нужное окно.
3. Найти в окне нужный узел (window.document.getElementById(...) и т.п.) и что-нибудь с ним сделать.
Пример: http://forum.mozilla-russia.org/viewtop … 41#p470941 (ищется по "domwindowopened").
Только проще сделать отдельное расширение.
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует