Я разрабатываю расширение для Firefox. Я знаком с JS, CSS, XML, но плохо знаком с XUL.
Я хочу переопределить Загрузки, добавив кнопку рядом с каждым загруженным файлом, чтобы переименовать его. Я уже сделал это (размещение кнопки и обработка логики переименования).
То, что осталось, это пользовательский интерфейс. Кнопка выглядит отключенной, но, видимо, нет, потому что я могу нажать на нее, и появится всплывающее окно.
Вот как это выглядит сейчас:
и соответствующий код:
<xul:button label="Rename" tabindex="1" onclick="foo()"/>
Добавление disabled="false"
не помогает. Я могу добавить style="color:black; text-shadow:0 0;"
и , чтобы это выглядело как и предполагалось , но есть несколько проблем (и я думаю, что причиной может быть отключенный вид):
- Кнопка, которую я добавил, не является «расталкиваемой», как родная кнопка «Очистить список» (нажатие на нее не меняет ее внешний вид, т.е. она не «спускается»). Однако вызывается
foo()
.
- Я не могу перейти к кнопке с помощью Tab с клавиатуры.
- Я читал, что предпочтительнее
command
/ oncommand
вместо onclick
(например, из-за навигации Tab ), но в моем примере только onclick
вызывает foo()
, Два других не работают.
Если требуется более подробный код (я полностью позаимствовал его у какого-то другого расширения):
<binding id="download-done" extends="chrome://mozapps/content/downloads/download.xml#download-base">
<content>
<xul:hbox flex="1">
...
<xul:vbox pack="start" flex="1">
...
<xul:hbox align="center" flex="1">
<xul:label xbl:inherits="value=status,tooltiptext=statusTip" crop="end" flex="1" class="status"/>
<xul:button label="Rename" tabindex="1" onclick="foo()"/>
</xul:hbox>
</xul:vbox>
</xul:hbox>
</content>
</binding>
Помощь с благодарностью.
Редактировать 1
Код, который я представил выше, был взят из оригинального Firefox download.xml (<binding id="download-done">
) и изменен только путем добавления моего <xul:button>
.
Чтобы все было еще более странным, я взял из того же файла две другие привязки (<binding id="download-paused">
и <binding id="download-downloading">
) и добавил к ним точно такие же <xul:button>
, и в обоих случаях кнопка как «толкаемая», так и черная (короче говоря, нормальная, как и должно быть). Он также доступен с клавиатуры с помощью Tab , даже без явной установки tabindex
.