ふと今日は・・・・・・

Firefox の拡張の日本語化、PC 等について書き散らす
07«|12345678910111213141516171819202122232425262728293031|»09   文字サイズ

Firefox 43 より、署名なしの拡張が無効化されることとなりました。
その為、使用できなくなるこのブログ上のすべての拡張は今後更新されることがありません。

スポンサーサイト   

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


PAGE TOP

どうもわからない(誰か教えてください)   コンピュータ

Custom Buttons のボタン「Auto context menu on selection」にデフォルトオン、ボタンクリックでオン/オフを切り替えできるようにならないかと、要望があってそれに対応しようとしているのだけどどうしたらいいのか一向にわからない。

ヒントだけでもいいので誰か分かる方教えてくださいまし (o_ _)o))

READ MORE にコード書いておきます。

/*======= Auto context menu on selection =======*/

var autoContextmenu = {
exec: function(event) {
if (event.button != 0) return;
selection = document.commandDispatcher.focusedWindow.getSelection();
if (!selection.isCollapsed && (selection.toString() != autoContextmenuPrevSelection)) {
autoContextmenuPrevSelection = document.commandDispatcher.focusedWindow.getSelection().toString();
var mouseEvent = document.createEvent('MouseEvents');
if (mouseEvent) {
mouseEvent.initMouseEvent('contextmenu', true, true, window, 1, event.screenX, event.screenY, event.clientX, event.clientY, false, false, false, false, 2, null);
event.target.dispatchEvent(mouseEvent);
}
}
}
};
var autoContextmenuPrevSelection = null;
document.addEventListener('mouseup', function(event) { autoContextmenu.exec(event); }, false);
関連記事

PAGE TOP

この記事に対するコメント

cooliris preveiw 


cooliris preveiwというExtensionにそういう機能があるので参考にしてみては?


【2007/01/27 16:26】 URL | おあまぁ~ #SFo5/nok [ 編集]

ありがとうございます 


見てみたのですが、コードが多すぎて該当箇所がどこにあたるのかさえわかりませんでしたσ(^_^;)アセアセ...
もうちょっと探ってみます。


【2007/01/27 20:06】 URL | SION #aJiwwryw [ 編集]

userchrome.js用 


userchrome.js で デフォルトON, ツールメニュー≫自動コンテキストメニュー表示でON/OFF custom buttonsの作り方よく分かりません。

/*======= Auto context menu on selection =======*/
var autoContextmenu = {
_status: false,
_PrevSelection: 0,

init: function() {
if (document.getElementById("autoContextmenu")) return;
var menuitem = document.createElement("menuitem");
menuitem.setAttribute("id", "autoContextmenu");
menuitem.setAttribute("type", "checkbox");
menuitem.setAttribute("checked", true);
menuitem.setAttribute("label", "自動コンテキストメニュー表示");
menuitem.setAttribute("onclick", "autoContextmenu.toggle();");
var optionsitem = document.getElementById("menu_preferences");
optionsitem.parentNode.insertBefore(menuitem, optionsitem);
this._PrevSelection = null;
this.toggle();
},

toggle: function() {
this._statas = document.getElementById("autoContextmenu").checked ;
//dump( this._statas );
if ( this._statas ){
this._statas = false;
document.removeEventListener('mouseup',autoContextmenu.exec,false);
}else{
this._statas = true;
document.addEventListener('mouseup',autoContextmenu.exec,false);
}
document.getElementById("autoContextmenu").checked = this._statas;
//dump( this._statas );
},

exec: function(event) {
if (event.button != 0) return;
selection = document.commandDispatcher.focusedWindow.getSelection();

if (!selection.isCollapsed && (selection.toString() != this._PrevSelection)) {
this._PrevSelection = document.commandDispatcher.focusedWindow.getSelection().toString();
var mouseEvent = document.createEvent('MouseEvents');
if (mouseEvent) {
mouseEvent.initMouseEvent('contextmenu', true, true, window, 1, event.screenX, event.screenY, event.clientX, event.clientY, false, false, false, false, 2, null);
event.target.dispatchEvent(mouseEvent);
}
}
}

}

autoContextmenu.init();


【2007/01/28 00:11】 URL | Alice0775 #mQop/nM. [ 編集]

ありがとうございます 


作成していただいた userChrome.js 用を移植してみたのですが、残念ながらうまく動作しませんでした(私の能力不足の可能性大)

Custom Buttons は、スタートアップで実行するコードとボタンのクリックで実行するコードの2種類を組み合わせて作ることができます。


例として、Firefox の JavaScript 有効/無効を切り替える Custom Buttons のコードは以下のようになっています。

・ボタンのクリックで実行するコード
switch(this.PS.getBoolPref(this.pref)){
case true: this.PS.setBoolPref(this.pref,0);break;
case false: this.PS.setBoolPref(this.pref,1);break;
}


・スタートアップで読み込むコード
this.pref='javascript.enabled';
this.setState=function(){
var state=this.PS.getBoolPref(this.pref);
if (state==1){
this.image=
'data:image/png;base64,~base64の画像。コメント欄のため省略~';
this.checked=false;
}else{
this.image=
'data:image/png;base64,~base64の画像。コメント欄のため省略~';
this.checked=true;
}
}

this.PS=
Components.classes['@mozilla.org/preferences-service;1']
.getService(Components.interfaces.nsIPrefBranch);
this.ob={};
this.ob.observe=this.setState.bind(this);
this.PS.addObserver(this.pref,this.ob,false);
this.setState();


【2007/01/28 08:23】 URL | SION #aJiwwryw [ 編集]

あの~、最初に要望を出した者ですが、 


なにか難題になってしまっているようで、恐縮です……

おあまぁ~さん、Alice0775さん、情報ありがとうございます。

SIONさんも、色々アタマを悩ませて下さっているようで、ほんとありがとうございます。
というか、段々申し訳なくなってきました……
いや、ほんと「そのうちできたら」っていう感じでよいので。はい。


【2007/01/28 18:43】 URL | ifish #1FE5x.Qk [ 編集]

いえいえ 


いい機会なので勉強しようと思ってるんですよ(*´∇`*)
ぼちぼちやってますので、あまり気に病まないでくださいね。


【2007/01/28 22:36】 URL | SION #aJiwwryw [ 編集]

これでどうですか 


これでどうでしょう, ON/OFFの状態をprefsに保存し,execで判定するようにした。

custombutton://Auto%20context%20menu%20on%20selection%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB5UlEQVR4nJWTMWhTURSGv/vuM3mGR401lMZCEIOVDtWtLkURMkS3DHa1lBQULCJFNzvU2UKXDGJcRFyElHRQNPKgKFpopVvoYG2w9qVDnqk2bdLSPoeYa14jGA9cOP+5/P/97z33iNiUC0D8VK6etBGvVmOikesN8ngi1i4fMjm3IaI31z9v7f+TGzUl44mYEtGaN4WAVPoJqcdplQuBZ61UvId4HGjAWHJE4bHkCM5ukazzCNf980RBv2Rb62sV0IXg6YuMwjtyk/yxN9y9cBO/NDgifOy5Ncq176SOPgeGDjkQcP1aQuG0PcmVvQHW7S+cNCOcPz3Ax5W3FDcLXOw5w0bXbdcjIAW8nnun8KrvK8dDktBBiGAgBEBnoIuNH+vsuwfgtlwBrl4aVLjwLcdC4T23Lt9Xtd7ufnq7+xm24kSCZ/F0QQrhWRoCp1ZiYmYUa3kWAGt5lomZUZxaST28x8Fa0WataKMLqGzvUK46LNrzWPlsXSCfZdGep1x1QBy6gtQg2hNW+Eb0DmbA4CXPWDKWGLbiOEaJn+EK4cAgH6xp0dKFam0Xl3rPO+hk6EQSzrnqH0gp8UmNrU99zPGXf2Aa/uYSphHhXscDT00KeLiQq3M8Dvj/0OH3eGbaH2fFAX4B7p6lfgjYwOoAAAAASUVORK5CYII%3D%5D%5Bvar%20prefs%3DComponents.classes%5B%22@mozilla.org/preferences-service%3B1%22%5D.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Atry%7B%0A%20%20%20%20var%20cb_autoContextmenu%20%3D%20prefs.getBoolPref%28%22cb_autoContextmenu%22%20%29%3B%0A%7Dcatch%28e%29%7B%0A%20%20%20%20prefs.setBoolPref%28%22cb_autoContextmenu%22%2Ctrue%20%29%3B%0A%7D%0Aprefs.setBoolPref%28%22cb_autoContextmenu%22%2C%20%21prefs.getBoolPref%28%22cb_autoContextmenu%22%20%29%29%3B%0Athis.checked%20%3D%20prefs.getBoolPref%28%22cb_autoContextmenu%22%20%29%3B%5D%5B/*%3D%3D%3D%3D%3D%3D%3D%20Auto%20context%20menu%20on%20selection%20%3D%3D%3D%3D%3D%3D%3D*/%0A%0Athis.setAttribute%28%22type%22%2C%22checkox%22%29%3B%0Avar%20prefs%3DComponents.classes%5B%22@mozilla.org/preferences-service%3B1%22%5D.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Atry%7B%0A%20%20%20%20var%20cb_autoContextmenu%20%3D%20prefs.getBoolPref%28%22cb_autoContextmenu%22%20%29%3B%0A%7Dcatch%28e%29%7B%0A%20%20%20%20prefs.setBoolPref%28%22cb_autoContextmenu%22%2Ctrue%20%29%3B%0A%7D%0A%0Athis.checked%20%3D%20prefs.getBoolPref%28%22cb_autoContextmenu%22%20%29%3B%0A%0Avar%20autoContextmenu%20%3D%20%7B%0A%09exec%3A%20function%28event%29%20%7B%0A%09%09var%20prefs%3DComponents.classes%5B%22@mozilla.org/preferences-service%3B1%22%5D.getService%28Components.interfaces.nsIPrefBranch%29%3B%0A%09%09if%20%28event.button%20%21%3D%200%29%20return%3B%0A%09%09if%28%20%21prefs.getBoolPref%28%22cb_autoContextmenu%22%20%29%20%29%20return%3B%0A%09%09selection%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29%3B%0A%09%09if%20%28%21selection.isCollapsed%20%26%26%20%28selection.toString%28%29%20%21%3D%20autoContextmenuPrevSelection%29%29%20%7B%0A%09%09%09autoContextmenuPrevSelection%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%0A%09%09%09var%20mouseEvent%20%3D%20document.createEvent%28%27MouseEvents%27%29%3B%0A%09%09%09if%20%28mouseEvent%29%09%7B%0A%09%09%09%09mouseEvent.initMouseEvent%28%27contextmenu%27%2C%20true%2C%20true%2C%20window%2C%201%2C%20event.screenX%2C%20event.screenY%2C%20event.clientX%2C%20event.clientY%2C%20false%2C%20false%2C%20false%2C%20false%2C%202%2C%20null%29%3B%0A%09%09%09%09event.target.dispatchEvent%28mouseEvent%29%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%7D%0A%7D%3B%0Avar%20autoContextmenuPrevSelection%20%3D%20null%3B%0Adocument.addEventListener%28%27mouseup%27%2C%20function%28event%29%20%7B%20autoContextmenu.exec%28event%29%3B%20%7D%2C%20false%29%3B


【2007/01/29 17:06】 URL | Alice0775 #SFo5/nok [ 編集]

(ノ´▽`)ノオオオオッ♪ 


バッチリ動作しました。
prefsに保存し,execで判定ですかぁ。コード見て勉強させてもらいます。
ありがとうございました ペコリ(o_ _)o))


【2007/01/30 12:24】 URL | SION #aJiwwryw [ 編集]

同じく (ノ´▽`)ノオオオオッ♪ 


正常に動作することを確認しました。
素晴らしい!!

Alice0775さん、わざわざコードを書いて頂き、心から感謝しております。
これで、より快適なブラウジングができそうです。
どうもありがとうございました。

もちろんSIONさんも、ありがとうございました。
これからもSIONさんが作成する日本語版やコードにはお世話になると思うので、
今後ともよろしくお願いします。
それでは、また。


【2007/01/30 12:56】 URL | ifish #1FE5x.Qk [ 編集]

いえいえ 


私なんにもしてないですからねぇσ(^_^;)アセアセ...
見捨てないでまたよろしくです。

JavaScript きちんと勉強しないといけませんね。


【2007/01/30 21:00】 URL | SION #aJiwwryw [ 編集]

PAGE TOP

この記事に対するコメントの投稿









スパム対策のため、スペースでもいいのでSUBJECTは必ず入力してください。
入力が無い場合コメントを送信しても反映されません。


(URL の貼り付けは http:// を抜いてください)


 パスワードを表示 PASSの初期設定は0000なので変更してください

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


PAGE TOP

この記事に対するトラックバック

トラックバックURL
→http://xxsionxx.blog17.fc2.com/tb.php/764-18e39f43

PAGE TOP


Nikon デジタル一眼レフカメラ D610



Nikon マルチパワーバッテリーパック MB-D14

SITE SEARCH



PROFILE

Firefox や PC 全般、日常のことなど取り留めなく書き散らす

・連絡先
メールアドレス画像
広告メール送ってくんな。
鬱陶しい。


コメント歓迎!
リンクフリーなので自由にどうぞ。


・ATTENTION!
こちらでふさわしくないと判断したコメントやトラックバックは削除いたします。
また、コメントやトラックバックの内容が荒らしやアダルト、スパムと判断した場合、禁止設定させていただきます。
コメント欄のPASSは初期設定で0000となっています。任意のものに変更しない場合コメントを第三者に改変される恐れがあります。改変されたくない場合は、必ず任意のパスワードを設定してください。

ブログ内で取り扱っている拡張は、著作者の設定したライセンスに従って取り扱ってください。多くの場合、Web ページ、もしくは拡張を展開するとライセンスが書いてあるテキストファイルが入っています。
記事 RSSRSS1.0
コメント RSSRSS1.0

TOOLS

CATEGORY

W-ZERO3 (80)
Custom Buttons (49)
にゃんこといっしょ (1)
にゃんこが読み込み中 (1)
にゃんこといっしょ。読み込み中もいっしょ (1)
Config Files Editor Plus (6)
ダーツ (10)
トラ吉といっしょ。読み込み中もいっしょ (1)
Thunderbird (9)
食べ歩き (13)
Firefox (840)
検索プラグイン (15)
日本語化した拡張 (54)
テンプレート (8)
Windows Tips (10)
不定期連載 ちょっと便利な (11)
イラスト (3)
その他 (366)
LINUX (9)
何気ないこと (183)
その他のPC関連 (162)
和 (3)
JBA (25)
写真 (31)
バスケット (5)

RECENT ENTRIES

Win10 Anniversaryアップデートで起動不可に。(10/04) 
とりあえず生きてます(08/09) 
Firefox 44 で起動が遅い原因はCustom Buttons 0.0.5.8.1だったので対策を探した(02/12) 
Firefox44でパスワードが消えて難儀した。(02/10) 
2016年 あけましておめでとうございます(01/01) 
Firefox43で署名なしアドオンを復活させる方法(12/17) 
Firefox 43 がリリースされた(12/16) 
【復活しました】Google Feed API 廃止された?(12/02) 
Firefoxで楽天が重すぎるので対策してみた(10/23) 
先生と迷い猫(10/14) 
最近やったこと(07/18) 
Firefox 39 リリース(07/18) 
Firefox 37.0 リリース(04/03) 
Firefox 36.0.1 リリース(03/06) 
Firefox 36 リリース(03/01) 
山鹿百華百彩見に行った(02/16) 
Firefox 35 リリース(01/15) 
ラブジョイ彗星(C/2014 Q2)撮ってきた(01/07) 
ふたご座流星群(12/14) 
Firefox 34.0.5 リリース(12/04) 
Firefox 33.1 リリース(11/11) 
Firefox 33.0.2 リリース(10/31) 
Firefox 33.0.1 リリース(10/27) 
Firefox 33.0 リリース(10/15) 
Firefox 32.0.3 リリース(09/26) 

RECENT COMMENTS

管理人 [02/12 22:18] 
いちごさん [02/12 22:09] 
クネクネ [11/30 11:59] 
Yukto8492 [04/24 21:17] 
名無しのごんべ [04/18 05:43] 
がっちゃん [03/18 13:48] 
Yukto8492 [03/16 01:45] 
SION [03/14 23:11] 
Yukto8492 [03/13 21:50] 
SION [12/11 21:07] 
名無しのごんべ [12/10 00:53] 
mmj [11/07 06:03] 
SION [11/06 00:53] 
mmj [11/05 11:04] 
taku [10/09 19:04] 

RECENT TRACKBACKS

まっとめBLOG速報: まとめ【Firefox 17 リリース】 (11/28)
まっとめBLOG速報: まとめ【タ゛レモイナイ・・・】 (11/28)
まっとめBLOG速報: まとめ【Firefox 16.0.2 リリ】 (11/15)
まっとめBLOG速報: まとめ【というわけでレンズ買】 (10/26)
まっとめBLOG速報: まとめ【というわけでレンズ買】 (10/26)

ARCHIVES

2016年10月 (1)
2016年08月 (1)
2016年02月 (2)
2016年01月 (1)
2015年12月 (3)
2015年10月 (2)
2015年07月 (2)
2015年04月 (1)
2015年03月 (2)
2015年02月 (1)
2015年01月 (2)
2014年12月 (2)
2014年11月 (1)
2014年10月 (3)
2014年09月 (7)
2014年08月 (1)
2014年07月 (4)
2014年06月 (2)
2014年05月 (3)
2014年04月 (3)
2014年03月 (4)
2014年02月 (2)
2014年01月 (3)
2013年12月 (4)
2013年11月 (1)
2013年10月 (10)
2013年09月 (5)
2013年08月 (5)
2013年07月 (4)
2013年06月 (2)
2013年05月 (4)
2013年04月 (11)
2013年03月 (8)
2013年02月 (6)
2013年01月 (4)
2012年12月 (3)
2012年11月 (6)
2012年10月 (9)
2012年09月 (3)
2012年08月 (5)
2012年07月 (5)
2012年06月 (8)
2012年05月 (14)
2012年04月 (4)
2012年03月 (9)
2012年02月 (8)
2012年01月 (9)
2011年12月 (11)
2011年11月 (12)
2011年10月 (7)
2011年09月 (7)
2011年08月 (15)
2011年07月 (11)
2011年06月 (13)
2011年05月 (9)
2011年04月 (7)
2011年03月 (18)
2011年02月 (7)
2011年01月 (12)
2010年12月 (11)
2010年11月 (10)
2010年10月 (11)
2010年09月 (13)
2010年08月 (7)
2010年07月 (13)
2010年06月 (16)
2010年05月 (12)
2010年04月 (12)
2010年03月 (11)
2010年02月 (14)
2010年01月 (19)
2009年12月 (12)
2009年11月 (11)
2009年10月 (9)
2009年09月 (6)
2009年08月 (16)
2009年07月 (24)
2009年06月 (14)
2009年05月 (11)
2009年04月 (22)
2009年03月 (14)
2009年02月 (11)
2009年01月 (5)
2008年12月 (8)
2008年11月 (14)
2008年10月 (20)
2008年09月 (14)
2008年08月 (17)
2008年07月 (23)
2008年06月 (9)
2008年05月 (26)
2008年04月 (24)
2008年03月 (14)
2008年02月 (30)
2008年01月 (18)
2007年12月 (18)
2007年11月 (28)
2007年10月 (19)
2007年09月 (14)
2007年08月 (21)
2007年07月 (25)
2007年06月 (29)
2007年05月 (28)
2007年04月 (22)
2007年03月 (37)
2007年02月 (46)
2007年01月 (45)
2006年12月 (39)
2006年11月 (33)
2006年10月 (30)
2006年09月 (23)
2006年08月 (24)
2006年07月 (29)
2006年06月 (32)
2006年05月 (36)
2006年04月 (45)
2006年03月 (53)
2006年02月 (57)
2006年01月 (46)
2005年12月 (39)
2005年11月 (52)
2005年10月 (57)
2005年09月 (55)
2005年08月 (52)
2005年07月 (11)

LINKS

ダーツの翼(shop)
ダーツの翼 (ブログ)
norah'#
今日の雄叫び
GA将!!! 作ってます
WEB職人へのなが~い道のり
テンプレート試作場
Firefox まとめサイト
Mozilla-gumi Forum
犬の論語
Mozilla Firefox Thunderbird の拡張あれこれ
Inside Mozilla Japan (Beta)
おにおんぐらたんすーぷ


欲しいものリスト自分用

BANNER

JavaScript Guide

Mozilla Japan

Get Thunderbird

LibreOffice

MOBILE

QRコード画像

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。