Значки панели инструментов создания аддонов FireFox исчезают - PullRequest
0 голосов
/ 24 декабря 2010

Я только что закончил свое первое дополнение к FF. Но после установки исчезают значки существующей панели инструментов.

Вот так выглядит мой файл chrome.manifest.

content myext content/ 
overlay chrome://browser/content/browser.xul    chrome://myext/content/overlay.xul
locale  myext   en-US   locale/en-US/
skin    myext   classic/1.0 skin/
style       chrome://browser/content/browser.xul chrome://myext/skin/overlay.css
style chrome://global/content/customizeToolbar.xul chrome://myext/skin/overlay.css

Есть идеи, почему это происходит?

Дайте мне знать, если мне нужно опубликовать содержимое других файлов.

Спасибо

Edit: overlay.xul>

<?xml version="1.0"?> 
<?xml-stylesheet href="chrome://myext/skin/overlay.css" type="text/css"?> 
<!DOCTYPE overlay SYSTEM "chrome://myext/locale/overlay.dtd"> 
<overlay id="myext-overlay" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 

    <script src="loader.js"/>
    <script src='jquery.js'/>
    <script src="overlay.js"/>
    <script src="jquery.cookie.js"/>
    <script src="Jquery-ui.js"/>
    <script src="json2.js"/>
    <script src="script.js"/>


    <statusbar id="status-bar">
      <statusbarpanel role="button"
                        onmouseup="KH.bind_btn_click()"
                        tooltiptext="myext">
            <image src="chrome://myext/skin/icon.png" />
        </statusbarpanel>
    </statusbar>

</overlay> 

Структура Dir>

/content
    overlay.xul
    [otehr js files]
/locale
/skin
/chrome/manifest
/install.rdf

Ответы [ 2 ]

1 голос
/ 24 декабря 2010

Некоторые из ваших файлов JavaScript нарушают работу Firefox.

Пространство имен в аддонах Firefox является глобальным, что означает, что если вы используете имя чего-то, что уже существует, это вызовет конфликты.Вот запись в блоге о Глобальном разрешении пространства имен .

Здесь вы можете найти простую статью, чтобы создать пространства имен для вашего дополнения .

0 голосов
/ 11 января 2011

Если ваши сценарии пытаются получить доступ к DOM до того, как сработает событие загрузки, это вызовет привязку XBL на затронутых узлах до завершения загрузки наложения. В частности, когда связывается панель инструментов XBL, она пытается восстановить пользовательскую конфигурацию панели инструментов, однако, чтобы это работало, все оверлеи должны быть загружены, чтобы все кнопки были доступны в палитре. В конкретном случае панели инструментов в Firefox 4 будет обходной путь, но в целом вам все же следует избегать доступа к DOM до события load.

...