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

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

№115-03-2010 19:48:20

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 3.5

Кнопка расширения не появляется на панели доступных кнопок

Приветствую всех!

Попробовал переделать своё старое расширение под новую версию существующего сайта (изначально оно было основано на Forum.Mozilla-Russia.Org (navigator)). Раньше это расширение нормально работало. После переделки новое расширение устанавливается, прописывается в списке расширений, но кнопка на панели не появляется. Вообще. DOM Inspector тоже ничего не показывает — там, где должен быть пункт, его нет. В консоли ошибок пусто.
Опытным путём удалось установить, что проблема проявляется после замены файлов chrome/content/myExtensionOverlay.xul и chrome/locale/ru-RU/myExtension.dtd. Если взять старые версии этих же файлов — всё работает как надо. При этом всё, что изменилось — были добавлены новые пункты меню и изменены наименования некоторых старых.
Я думал, что проблема в коде (что-то чему-то не соответствует/неправильно написано и т. д.). Но сколько ни проверял, явных ошибок найти не смог. Честно говоря, совершенно не понятно, в чём проблема. Буду благодарен за любую помощь.

Содержимое файлов:

myExtensionOverlay.xul

Выделить код

Код:

<?xml-stylesheet href="chrome://upsconf/skin/upsconf_icons.css" type="text/css"?>

<!DOCTYPE overlay SYSTEM "chrome://upsconf/locale/upsconf.dtd">

<overlay id="upsconf-overlay"
     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <script type="application/x-javascript" 
          src="chrome://upsconf/content/open_script.js"/>

  <toolbarpallete id="BrowserToolbarPalette">
    <toolbarbutton id="upsconf_toolbarbutton" class="toolbarbutton-1"
           type="menu"
           orient="horizontal"
           label="&upsconf_toolbar.label;">
        
                <menupopup>
            
                <menuitem id="upsconf_active_topics"
                      class="menuitem-iconic"
                      label="&upsconf_active_topics.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/search.php?search_id=active_topics');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/search.php?search_id=active_topics');"/>
                      
                <menuitem id="upsconf_noanswer_topics"
                      class="menuitem-iconic"
                      label="&upsconf_noanswer_topics.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/search.php?search_id=unanswered');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/search.php?search_id=unanswered');"/>
                      
                <menuseparator/>
                <menuitem id="upsconf_index"
                      class="menuitem-iconic"
                      label="&upsconf_index.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/');"/>
                
                <menuseparator/>
                <menuitem id="upsconf_hardware"
                      class="menuitem-iconic"
                      label="&upsconf_hardware.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=3');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=3');"/>
                
                <menuitem id="upsconf_soft"
                      class="menuitem-iconic"
                      label="&upsconf_soft.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=4');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=4');"/>
                
                <menuitem id="upsconf_mobile"
                      class="menuitem-iconic"
                      label="&upsconf_mobile.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=8');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=8');"/>
                
                <menuitem id="upsconf_multimedia"
                      class="menuitem-iconic"
                      label="&upsconf_multimedia.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=13');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=13');"/>
                
                <menuitem id="upsconf_programming"
                      class="menuitem-iconic"
                      label="&upsconf_programming.label;" 
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=9');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=9');"/>
                
                <menuitem id="upsconf_network"
                      class="menuitem-iconic"
                      label="&upsconf_network.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=10');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=10');"/>
                
                <menuitem id="upsconf_market"
                      class="menuitem-iconic"
                      label="&upsconf_market.label;" 
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=11');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=11');"/>
                      
                <menuseparator/>
                <menuitem id="upsconf_upgrade"
                      class="menuitem-iconic" 
                      label="&upsconf_upgrade.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=22');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=22');"/>
                
                <menuitem id="upsconf_upspecial"
                      class="menuitem-iconic" 
                      label="&upsconf_upspecial.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=23');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=23');"/>
                      
                <menuseparator/>
                <menuitem id="upsconf_common"
                      class="menuitem-iconic" 
                      label="&upsconf_common.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=2');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=2');"/>
                
                <menuitem id="upsconf_smokeroom"
                      class="menuitem-iconic" 
                      label="&upsconf_smokeroom.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=18');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=18');"/>
                      
                <menuitem id="upsconf_guest"
                      class="menuitem-iconic"
                      label="&upsconf_guest.label;" 
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=5');"
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=5');"/>
                
                <menuseparator/>
                <menuitem id="upsconf_forum"
                      class="menuitem-iconic" 
                      label="&upsconf_forum.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=6');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=6');"/>
                
                <menuitem id="upsconf_rank"
                      class="menuitem-iconic" 
                      label="&upsconf_rank.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewforum.php?f=7');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewforum.php?f=7');"/>
                
                <menuseparator/>
                <menuitem id="upsconf_faq"
                      class="menuitem-iconic" 
                      label="&upsconf_faq.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/faq.php');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/faq.php');"/>
                
                <menuitem id="upsconf_search"
                      class="menuitem-iconic" 
                      label="&upsconf_search.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/search.php');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/search.php');"/>
                
                <menuitem id="upsconf_users"
                      class="menuitem-iconic" 
                      label="&upsconf_users.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/memberlist.php?mode=group&g=2');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/memberlist.php?mode=group&g=2');"/>
                
                <menuitem id="upsconf_rules"
                      class="menuitem-iconic" 
                      label="&upsconf_rules.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/viewtopic.php?f=6&t=8428');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/viewtopic.php?f=6&t=8428');"/>
                
                <menuitem id="upsconf_profile"
                      class="menuitem-iconic" 
                      label="&upsconf_profile.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/profile.php?mode=editprofile');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/profile.php?mode=editprofile');"/>
                
                <menuitem id="upsconf_inbox"
                      class="menuitem-iconic" 
                      label="&upsconf_inbox.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/privmsg.php?folder=inbox');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/privmsg.php?folder=inbox');"/>
                
                <menuitem id="upsconf_login"
                      class="menuitem-iconic" 
                      label="&upsconf_login.label;"
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/ucp.php?mode=login');" 
                      oncommand="forum_open(null, 'http://www.upweek.ru/forum/ucp.php?mode=login');"/>
                
            </menupopup>
    
    
    
    </toolbarbutton>
  </toolbarpallete>

</overlay>


myExtension.dtd
<!ENTITY upsconf_toolbar.label "Конференция COMPUTERY.RU">

<!ENTITY upsconf_active_topics.label "Активные темы">
<!ENTITY upsconf_noanswer_topics.label "Темы без ответов">
<!ENTITY upsconf_index.label "Главная">
<!ENTITY upsconf_hardware.label "Железо">
<!ENTITY upsconf_soft.label "Софт">
<!ENTITY upsconf_mobile.label "Мобильности">
<!ENTITY upsconf_multimedia.label "Мультимедиа">
<!ENTITY upsconf_programming.label "Программирование">
<!ENTITY upsconf_network.label "Сети">
<!ENTITY upsconf_market.label "Барахолка">

<!ENTITY upsconf_upgrade.label "UPgrade">
<!ENTITY upsconf_upspecial.label "UPspecial">

<!ENTITY upsconf_common.label "Общение">
<!ENTITY upsconf_smokeroom.label "Курилка">
<!ENTITY upsconf_guest.label "Гостевая">

<!ENTITY upsconf_forum.label "О форуме">
<!ENTITY upsconf_rank.label "Звания">

<!ENTITY upsconf_faq.label "FAQ">
<!ENTITY upsconf_search.label "Поиск">
<!ENTITY upsconf_users.label "Пользователи">
<!ENTITY upsconf_rules.label "Правила">
<!ENTITY upsconf_profile.label "Профиль">
<!ENTITY upsconf_inbox.label "Войти и проверить личные сообщения">
<!ENTITY upsconf_login.label "Вход">

Отсутствует

 

№215-03-2010 20:02:55

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Кнопка расширения не появляется на панели доступных кнопок

Скорее всего, не определена какая-то из entity.
В консоли должно быть видно. Что-нибудь вроде

Выделить код

Код:

Ошибка: неопределённая сущность
Источник: chrome://myextension/myExtensionOverlay.xul
Строка 6, символ 3
Исходный код:
  <toolbarbutton id="upsconf_toolbarbutton" class="toolbarbutton-1"

Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№315-03-2010 20:10:03

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 3.5

Re: Кнопка расширения не появляется на панели доступных кнопок

Anton
Да то-то и оно, что вроде как все определены. И в консоли чисто.

Отсутствует

 

№415-03-2010 20:21:18

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 3.6
Веб-сайт

Re: Кнопка расширения не появляется на панели доступных кнопок

Проверь вот эту:

Выделить код

Код:

Ошибка: неправильный
Источник: resource://custombuttons/buttonsoverlay.xul
Строка 169, символ 105
Исходный код:
                      onclick="forum_open(event, 'http://www.upweek.ru/forum/memberlist.php?mode=group&g=2');"

строку. Наверное, надо &amp; вместо & ?

ps. И все прочие ссылки.
Вот ещё:

Выделить код

Код:

<toolbarpallete

опечатка.

Отредактировано Anton (15-03-2010 20:28:09)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№515-03-2010 23:11:05

MySh
Кактусогрыз
 
Группа: Extensions
Зарегистрирован: 17-12-2006
Сообщений: 4623
UA: Firefox 3.5

Re: Кнопка расширения не появляется на панели доступных кнопок

Anton
Спасибо. Действительно, оказалось, что вся загвоздка в ссылках была.

Отсутствует

 

Board footer

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