XUL > ショートカットキーの利用
更新日
2012-05-03
広告
ショートカットキーから、アドオンを呼び出す方法を紹介します(Mozilla公式サイトを参考にしました)。
アドオンのファイルの構成は、こちらの記事とほとんど同じです。主に browserOverlay.xul が異なります。
browserOverlay.xul (その1)
ショートカットキーを利用する単純な方法は、browserOverlay.xulで、keyset要素を定義する方法です。
<?xml version="1.0"?> <?xml-stylesheet type="text/css" href="chrome://global/skin/" ?> <?xml-stylesheet type="text/css" href="chrome://globalshortcutsample/skin/browserOverlay.css" ?> <!DOCTYPE overlay SYSTEM "chrome://globalshortcutsample/locale/browserOverlay.dtd"> <overlay id="globalshortcutsample-browser-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript" src="chrome://globalshortcutsample/content/browserOverlay.js" /> <keyset> <key id="mykey" modifiers="control" key="E" oncommand="invokeAlert();"/> </keyset> </overlay>この場合、「コントロール+E」を押すと、JavaScriptのinvokeAlert関数が呼び出されます。コントロールキーじゃなくて、シフトキーやAltキーを使いたい場合は、modifiers属性の値を shift や alt にすればよいです。
browserOverlay.xul (その2)
右クリックで表示されるメニューのショートカットキーを指定する場合は、accesskey属性を定義すればよいです。
<?xml version="1.0"?> <?xml-stylesheet type="text/css" href="chrome://global/skin/" ?> <?xml-stylesheet type="text/css" href="chrome://menushortcutsample/skin/browserOverlay.css" ?> <!DOCTYPE overlay SYSTEM "chrome://menushortcutsample/locale/browserOverlay.dtd"> <overlay id="menushortcutsample-browser-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript" src="chrome://menushortcutsample/content/browserOverlay.js" /> <popup id="contentAreaContextMenu"> <menuitem id="sample" label="get drag text sample" accesskey="r" insertafter="context-bookmarkpage" oncommand="invokeAlert();"/> </popup> </overlay>menuitem要素の中で、accesskey属性を定義しています。上の場合、右クリックした後に「R」を押せば、invokeAlert関数が呼び出されます。
広告
お問い合わせは sweng.tips@gmail.com まで。