FireGesturesでポップアップメニューを表示する 2012-07-13 (Fri) 22:13

FireGesturesのジェスチャ登録数がだいぶ増えてきて、手軽に発動できるジェスチャの割当てが難しいので整理することに。

できればジェスチャ発動でポップアップメニューが出て、コマンドが選べるようにしたい。

で、調べてみるとFireGesturesにはちゃんとそれ用のAPI(FireGestures.generatePopup)が用意されていた。

ポップアップメニューを出すスクリプトをゴリゴリ書く手間もなく大助かりだ。

とりあえずこんな感じにしておいた。
あとは必要に応じて追加して行けば、1つジェスチャを覚えておけばいくつでもコマンドを選択実行できるので大変便利。

//CSS変更(白背景)
backGroundWhite = function(){
var doc = window.content.document;
var style = <![CDATA[
* {
background-color: white!important;
background-image: none !important;
color: black !important;
}
]]>.toString().replace(/\s+/g, " ");
var ss = doc.createProcessingInstruction(
'xml-stylesheet',
'type="text/css" href="data:text/css,' + escape(style) + '"'
);
doc.insertBefore(ss, doc.documentElement);
}
//IPアドレス検索
ipAddressSearch = function(){
const DOMAIN = "www.iputilities.net";
var sel = FireGestures.getSelectedText();
if(sel){
const URL = "http://" + DOMAIN + "/result.php?userip=" + sel;
gBrowser.loadOneTab(URL, null, null, null, true, false);
}
}
//英和・和英辞典
translateWord = function(){
const DOMAIN = "ejje.weblio.jp";
var sel = FireGestures.getSelectedText();
if(sel){
const URL = "http://" + DOMAIN + "/content/" + sel;
gBrowser.loadOneTab(URL, null, null, null, true, false);
}
}
FireGestures.generatePopup(event, [
{
label: "処理のメニュー",
oncommand : 'return false', disabled : 'true', style : 'font-weight:bold; color:navy;'
},
{
label: "CSS変更(白背景)",
oncommand : 'backGroundWhite()'
},
{
label: "IPアドレス検索",
oncommand : 'ipAddressSearch()'
},
{
label: "ズーム100%",
oncommand : 'FireGestures._performAction(event, "cmd_fullZoomReset")'
},
{
label: "英和・和英辞典(weblio)",
oncommand : 'translateWord()'
}
]);

関連記事

コメントの投稿

管理者にだけ表示を許可する

注意事項
基本的にこのブログはブログ主の備忘録です。

ブログの内容にはブログ主の主観や時には正確でない情報が含まれていることもあります。書いてある内容がすべての環境にあてはまることを保証するものでもありません。

また、過去の記事は現時点で既に陳腐化していることもあります。

その辺をご理解の上で当ブログ内に書いてあることを試す場合は自己責任でお願いします。

記事内容の誤りの指摘、疑問点の回答などコメント頂けると助かります。
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
ブログ内検索
カラーコードチェッカ
カラーコードの確認
入力例) #ffffff | blue
カテゴリ
最新記事
最新コメント
最新トラックバック
リンク
ブロとも申請フォーム

この人とブロともになる

メールフォーム

名前:
メール:
件名:
本文: