Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№437610-07-2012 19:44:14

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 16.0

Re: Custom Buttons

Infocatcher
Мне спокойнее работать поближе к стандартам (поэтому не хочется ничего переопределять): так код можно использовать и в других случаях, не только с CustomButton. Да и в случае с addEventListener причина тоже не догматическая: хочется оставлять на будущее максимально доступное место для манёвров.

Отсутствует

 

№437711-07-2012 02:13:39

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

Кнопкой CB можно реализовать открытие закладок, журнала в новой вкладке?

Отсутствует

 

№437811-07-2012 02:52:11

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8716
UA: Firefox 16.0

Re: Custom Buttons

Кнопкой 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");


Chrome URLs

Отсутствует

 

№437911-07-2012 03:42:36

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 14.0

Re: Custom Buttons

homo_nudus пишет

потому что анонимная функция не может восприниматься как один и тот же обработчик, она всегда создаётся заново

Дело не в анонимности функции как таковой, а в том, что обычно никто не утруждает себя хранением ссылки на функцию-обработчик; без хранимой ссылки не происходит ни отвязки обработчика, ни установления факта, что ранее привязанный обработчик - тот же самый (идентичность, определяемая по ссылке).

homo_nudus пишет

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. Я некогда столкнулся вот с таким вопросом - идентичность вроде бы была самой что ни на есть, но мимо механизма идентификации листенеров.

Infocatcher пишет
homo_nudus пишет

Onclick обычно советуют заменять на addEventListener

Отделение разметки от кода ради отделения разметки от кода? :)

Ну почему же. Например, ради мультикастности листенеров, которой нет при их привязке через разметку, и есть при привязке в коде.

Отсутствует

 

№438011-07-2012 05:41:25

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

Крошка Ру
все три кнопки открывают свою вкладку автоматически без запроса после перезапуска или например после настройки панелей инструментов (где кнопки все лежат).
и закладки и журнал открываются при запросе в окне как и есть стандартно.

Отсутствует

 

№438111-07-2012 08:24:13

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

okkamas_knife проверял каждую кнопку и с этим вариантом - открываются в окне как обычно.
и перезагружал на всякий случай.

Отсутствует

 

№438211-07-2012 08:49:22

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 16.0

Re: Custom Buttons

hydrolizer
Спасибо.

Отсутствует

 

№438311-07-2012 10:09:56

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8716
UA: Firefox 16.0

Re: Custom Buttons

все три кнопки открывают свою вкладку автоматически без запроса после перезапуска или например после настройки панелей инструментов (где кнопки все лежат).

skynet281978, Странно :rolleyes: у меня они по собственной инициативе ничего не открывают - сидят себе тихо пока не нажмёшь :angel:


и закладки и журнал открываются при запросе в окне как и есть стандартно.

код  нашёл в этой теме и использую для открытия любых адресов , и ничего такого не происходило ни разу :whistle: - всегда открывались в новой вкладке :sick:

А галочка на "Вместо новых окон открывать новые вкладки" установлена?

Bezymyannyj.1341986882.png

.... хотя там в коде же прописано вроде открытие таба :)

Отсутствует

 

№438411-07-2012 15:54:51

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

Крошка Ру на 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)

Отсутствует

 

№438511-07-2012 17:00:58

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8716
UA: Firefox 16.0

Re: Custom Buttons

переустановил, теперь не создают после перезагрузки автоматически вкладки, но и не работают.
может где то какие-то настройки не дают?

skynet281978, Может какие расширения влияют ? А попробуйте отключить их все кроме конечно Custom Buttons или вообще на новом профиле протестируйте кнопку :sick:  :)


... а если только More In Content UI отключить? ;)

Отредактировано Крошка Ру (11-07-2012 17:09:04)

Отсутствует

 

№438611-07-2012 17:37:10

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

Крошка Ру отключал. но проверял как писал ранее и на 14 версии, тоже самое. там установлены CB и стайлиш с парой стилей, которые тоже отключал.
на чистой фаерфокс тоже самое.

Отредактировано skynet281978 (11-07-2012 17:43:37)

Отсутствует

 

№438711-07-2012 17:45:28

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8716
UA: Firefox 16.0

Re: Custom Buttons

skynet281978, Не понимаю в чём тогда причина может быть :dumb: :blush:  :angel:

Отсутствует

 

№438811-07-2012 18:44:29

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4806
UA: Firefox 3.6

Re: Custom Buttons

skynet281978 пишет

Крошка Ру
и закладки и журнал открываются при запросе в окне как и есть стандартно.
.......
проверял как писал ранее и на 14 версии, тоже самое. там установлены CB и стайлиш с парой стилей, которые тоже отключал.
на чистой фаерфокс тоже самое.

Это не возможно, код должен открывать вкладки !

Отсутствует

 

№438912-07-2012 02:49:28

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 16.0

Отсутствует

 

№439012-07-2012 04:15:59

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

Извиняюсь, что ввёл в заблуждение. Всё работает.
Человеческая невнимательность... :)
Кнопка Закладки и Журнал

скрытый текст
getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/places/places.xul");

можно ли сделать чтобы действие этой кнопки происходило только при нажатии этих пунктов в кнопке App menu?

Отредактировано skynet281978 (12-07-2012 09:50:36)

Отсутствует

 

№439112-07-2012 21:26:17

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4806
UA: Firefox 3.6

Re: Custom Buttons

skynet281978 пишет

Кнопка Закладки и Журнал
можно ли сделать чтобы действие этой кнопки происходило только при нажатии этих пунктов в кнопке 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)

Отсутствует

 

№439213-07-2012 08:33:36

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

bunda1 спасибо, значительно лучше.
И есть пару вопросов: сейчас Журнал открывается в новой вкладке как Журнал отдельно, можно ли сделать чтобы журнал открывался также как открываются Все закладки, но фокус на Журнале как здесь

скрытый текст
69a6fe840a7c.png

ещё во вкладке журнала появляется вот это если остановить курсор, я так понимаю это типа всплывающей пустой подсказки.
скрытый текст
9ae05cc84872.png

также и в этой кнопке появляется эта пустая всплыающая подсказка
Закладки (открывают только Закладки в новой вкладке)
скрытый текст

Выделить код

Код:

getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/bookmarks/bookmarksPanel.xul");


И можно добавить к этой кнопке которую ты выше разместил "Открывать из главного меню Firefox 'Показать весь журнал' и 'Показать все закладки' как вкладки" действие чтобы открывались вкладки и при нажатии из Главного меню на Закладки, Журнал?

Отсутствует

 

№439313-07-2012 21:51:49

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4806
UA: Firefox 3.6

Re: Custom Buttons

skynet281978 пишет

И можно добавить к этой кнопке которую ты выше разместил "Открывать из главного меню 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; }
}

но тогда они исчезаю из боковой панели и вообще из Библиотеки открытой в вкладке.

skynet281978 пишет

можно ли сделать чтобы журнал открывался также как открываются Все закладки, но фокус на Журнале как здесь

Легко можно сделать чтобы журнал открывался также как открываются Все закладки. А вот как сделать фокус на Журнале я даже не представляю. У него нет ID.

Отредактировано bunda1 (13-07-2012 22:18:33)

Отсутствует

 

№439414-07-2012 07:32:24

skynet281978
Участник
 
Группа: Members
Зарегистрирован: 09-03-2011
Сообщений: 498
UA: Firefox 13.0

Re: Custom Buttons

bunda1 пишет

Не понял. на Закладки, Журнал

скрытый текст
202738508cb9.png

bunda1 пишет

skynet281978 пишет:

    можно ли сделать чтобы журнал открывался также как открываются Все закладки, но фокус на Журнале как здесь

Легко можно сделать чтобы журнал открывался также как открываются Все закладки. А вот как сделать фокус на Журнале я даже не представляю. У него нет ID.

хотелось бы полную замену дополнения More In Content UI. Может если разобрать его, то можно узнать что нужно?
Так как не особо разбираюсь нашёл там, что можно поменять заголовок вкладок и фавиконку.

Отсутствует

 

№439514-07-2012 17:25:06

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4806
UA: Firefox 3.6

Re: Custom Buttons

Может кому то нужно. Сделал простой код для блокировки повторного запуска функций и обработчиков при открытии настройки панелей но с возможностью обновления кнопки. На место 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");

Отсутствует

 

№439614-07-2012 22:33:12

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4806
UA: Firefox 3.6

Re: Custom Buttons

skynet281978 пишет

хотелось бы полную замену дополнения More In Content UI. Может если разобрать его, то можно узнать что нужно?
Так как не особо разбираюсь нашёл там, что можно поменять заголовок вкладок и фавиконку.

Попробую, мне тоже интересно.

skynet281978 пишет

И можно добавить к этой кнопке которую ты выше разместил "Открывать из главного меню Firefox 'Показать весь журнал' и 'Показать все закладки' как вкладки" действие чтобы открывались вкладки и при нажатии из Главного меню на Закладки, Журнал?

Я все равно не понял!

Отсутствует

 

№439719-07-2012 23:42:51

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4806
UA: Firefox 3.6

Re: Custom Buttons

Может кому то нужно.

Вернуть иконки сайтов в строке адреса.
Положите код в любую 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)

Отсутствует

 

№439820-07-2012 02:24:38

SendAbuse
Участник
 
Группа: Members
Зарегистрирован: 08-03-2012
Сообщений: 113
UA: Firefox 11.0

Re: Custom Buttons

Привет всем !

Подскажите код-пример, который при появлении окошка
( например Stylish : Новый стиль )
изменяет какой-либо его элемент
( допустим заполняет поле ''Название'' словом ''test'' ).

Собственно интересует следующее:
1. как отлавливать возникновение таких окон.
2. как обращаться к элементам этих окон.

Отсутствует

 

№439920-07-2012 02:56:03

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8716
UA: Firefox 17.0

Re: Custom Buttons

Могла бы получится интересная кнопочка :)
"snaggyпозволяет сделать снимок экрана (скриншот) и залить в интернет прямо из буфера обмена....там так же имеется встроенный редактор, так что вы можете подправлять мелкие недочеты  в ваших скриншотах прежде чем опубликовать их в сети."

Отредактировано Крошка Ру (20-07-2012 19:43:26)

Отсутствует

 

№440020-07-2012 03:55:04

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4338
UA: Firefox 14.0

Re: Custom Buttons

SendAbuse пишет

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").

Только проще сделать отдельное расширение. :)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]