Страницы: 1
Доброе время суток.
Проблема в следующем: некогда, под версию FF 3.0.* я написал некое расширение, исключительно для собственных нужд. Нужные функции расширения срабатывали как по hotkeys, так и по клику кнопки на тулбаре. После перехода на версию 3.5 hotkeys работать перестали, хотя само расширение вполне работает по клику на кнопке - что, однако, несколько неудобно. В чем здесь заключается причина, и как сие исправить? Код оверлея таков:
<?xml version="1.0"?> <?xml-stylesheet href="chrome://skl/skin/skl.css" type="text/css"?> <overlay id="skl-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript" src="chrome://skl/content/skl.js" /> <toolbarpalette id="BrowserToolbarPalette"> <keyset id="sklKeyset"> <key id="key_repair" modifiers="alt" key="x" oncommand="repair(true)" disabled="false" /> <key id="key_casing" modifiers="alt" key="z" oncommand="repair(false)" disabled="false" /> </keyset> <toolbarbutton id="myextension-button" label="Switch LС" type="menu" ToolTipText="Switch LС"> <menupopup> <menuitem label="Switch Layout" accesskey="x" tooltiptext="Switch Layout" oncommand="repair(true)" /> <menuseparator /> <menuitem label="Switch Case" accesskey="z" tooltiptext="Switch Case" oncommand="repair(false)" /> </menupopup> </toolbarbutton> </toolbarpalette> </overlay>
Код скрипта, я думаю, здесь некритичен, но, если понадобится - могу привести (как я уже писал выше, он вполне корректно отрабатывает при нажатии кнопки тулбара).
Отсутствует
hydrolizer
keyset надо поместить внутрь toolbarbutton или до toolbarpalette
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton
keyset до toolbarpalette - не сработало, а вот внутрь toolbarbutton - вполне, сейчас всё работает. как надо, спасибо.
И еще один вопрос: дело в том, что желаемый функционал в расширении был реализован не до конца. Оно задумывалось как некий аналог punto switcher (который сам по себе я не люблю, и не использую), но только внутри FF, и, соответственно, должно было переводить в нужную раскладку текст, набранный в неправильной раскладке (xnj-nj nbgf nfrjuj->что-то типа такого), и переключать саму раскладку клавиатуры. Поскольку такового расширения на AMO я не отыскал, то решил реализовать сам. С первой частью более-менее управился, а вот со второй.. в принципе, я знаю, как переключить раскладку с помощью Win32API, но как до него достучаться из FF? XPCOM? Или существуют какие-то другие способы? В какую сторону копать?
Отредактировано hydrolizer (22-07-2009 15:15:02)
Отсутствует
XPCOM?
Разве что бинарный. jsxpcom, напрямую вряд ли может переключить раскладку.
В какую сторону копать?
Скорее всего, только в сторону передачи управления какой-нибудь программе-"переключалке" с помощью nsIProcess.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Страницы: 1