ツールバーのコンテキストメニューをuserChrome.jsを使って無効にする

下の画像のピンク色で囲んだ部分を右クリックすると表示されるコンテキストメニュー*1を表示させないようにしたい。アドレスバーにURLをペーストしようとして失敗したときによく出る。

Firefoxの部品(XUL)の調べ方

Firebugでアドオンや Firefoxの XULを覗く - Yaks を参考にして調べる。
じっくり観察してみると、がピンクで囲んだ部分にあたり、context="toolbar-context-menu"がコンテキストメニューを表示させる属性だということがわかった。

userChrome.jsを使えるように準備する

userChrome.js用スクリプト

超簡単。

// ==UserScript==
// @name           DisableToolbarContextMenu
// @namespace      http://d.hatena.ne.jp/Cherenkov/
// @description    ツールバーのコンテキストメニュー(右クリックメニュー)を非表示にする。
// @include        chrome://browser/content/browser.xul
// ==/UserScript==

(function(){
document.getElementById('nav-bar').removeAttribute('context');
document.getElementById('toolbar-menubar').removeAttribute('context');
})();

これをDisableToolbarContextMenu.uc.jsとか好きな名前を付けて、userChrome.jsと同じフォルダに保存する。
Firefoxを再起動してからコンテキストメニューがでないか確認。

感想

だいぶ前にDOM Inspector使ったときは分らなかったけどFirebugで調査したらすぐわかった。
エンジョイコピペライフ。

*1:検索用:ナビゲーションツールバー、ブックマークツールバー、カスタマイズ