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

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

Разработка » как поменять значения горячих клавиш в расширении? » 17-01-2009 19:42:12

Infocatcher пишет
Выделить код

Код:

function myLoadHandler(e) {
    window.removeEventListener(e.type, arguments.callee, false);
    document.getElementById("myKey").setAttribute("key", "P");
}
window.addEventListener("load", myLoadHandler, false);

спасибо за помощь.
буду просить пользователей перезапустить браузер, чтобы настройки вступили в силу. :)

ещё по случаю хочю спросить, я для хранения настроек в одном расширении подсмотрел вот такую конструкцию:

Выделить код

Код:

var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
...
pref.setCharPref('hotkey','P');
...
var hotk=pref.getCharPref('hotkey');

храню так настройки.
это правильно, или нужно по другоу делать?

Разработка » как поменять значения горячих клавиш в расширении? » 17-01-2009 18:39:58

Infocatcher пишет

К сожалению, такие штуки срабатывают только в момент загрузки окна.
Правда, по идее, если очень надо, можно перехватывать нажатия клавиш своим обработчиком, но это будет несколько больше кода. :)

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

Разработка » как поменять значения горячих клавиш в расширении? » 17-01-2009 16:36:31

есть у меня в оверлее такая ветка:

Выделить код

Код:

<keyset id="mainKeyset">
	<key id="ila_hotkeys" modifiers="alt any control" key="K" oncommand="ila_hotkey_fs();" />
	<key id="ila_hotkey" modifiers="alt any control" key="L" oncommand="ila_hotkey_f();" />
</keyset>

я в функции ila_hotkey_fs() делаю следующее:

Выделить код

Код:

document.getElementById('ila_hotkey').setAttribute("key","P");

После этого я ожидаю, что вызов функции ila_hotkey_f() поменяется на ctrl+alt+P, но этого не происходит. Атрибут меняется, это я проверял при помощи алерта в самой функции ila_hotkey_f().

Как мне поменять кнопки, по котороым будет происходить вызов функции?

Board footer

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