--- title: アドオンバー slug: The_add-on_bar tags: - Add-ons - Extensions - Firefox 4 - Toolbar - 要更新 translation_of: Mozilla/Firefox/Releases/4/The_add-on_bar ---
Firefox 4 よりウィンドウの下部に新しいツールバーを実装する為、ブラウザウィンドウの下部からステータスバーが削除されます。この新しいツールバーは ID "addon-bar" を持った、標準の XUL {{XULElem("toolbar")}} です。アドオンはこのバーにコンテンツを挿入することが可能であり、また、ユーザーはツールバーのカスタマイズ中にボタンをアドオンバーにドラッグすることができます。これがアドオンバーと旧ステータスバーの間の主な相違点です。標準のツールバーであるため、どの XUL 要素でもアドオンバーに配置することができます。
アドオンバーは ID "addon-bar" を持つ XUL ツールバーです。次のコードは、一番最近使われたウィンドウを探し出し、XUL {{XULElem("label")}} 要素を用いて単に "Hello world!" のテキストを表示する新しいアイテムをアドオンバーに加えます。
// 一番最近使われたウィンドウを探す var mediator = Components.classes['@mozilla.org/appshell/window-mediator;1'] .getService(Components.interfaces.nsIWindowMediator); var doc = mediator.getMostRecentWindow("navigator:browser").document; // そのウィンドウのアドオンバーを取得する var addonBar = doc.getElementById("addon-bar"); // 新しいツールバーアイテムを構築する var newItem = doc.createElement("toolbaritem"); var itemLabel = doc.createElement("label"); // アイテムをツールバーに追加しテキストラベルをセットする newItem.appendChild(itemLabel); addonBar.appendChild(newItem); itemLabel.value = "Hello world!";
To add the button only once create a bool pref to check if it is the first run. For example:
var firstrun = Services.prefs.getBoolPref("extensions.YOUREXT.firstrun"); var curVersion = "0.0.0"; if (firstrun) { Services.prefs.setBoolPref("extensions.YOUREXT.firstrun", false); Services.prefs.setCharPref("extensions.YOUREXT.installedVersion", curVersion); /* Code related to firstrun */ } else { try { var installedVersion = Services.prefs.getCharPref("extensions.YOUREXT.installedVersion"); if (curVersion > installedVersion) { Services.prefs.setCharPref("extensions.YOUREXT.installedVersion", curVersion); /* Code related to upgrade */ } } catch (ex) { /* Code related to a reinstall */ } }
Firefox 3.6 とそれ以前のバージョンとの互換性を保持したままアドオンバーのサポートを追加するには、2 つのオーバーレイを使用する必要があります。
The chrome.manifest file can specify which file is used by which Firefox version by using manifest flags:
overlay chrome://browser/content/browser.xul chrome://myaddon/content/myaddon/overlayold.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion<4.0 overlay chrome://browser/content/browser.xul chrome://myaddon/content/myaddon/overlay.xul application={ec8030f7-c20a-464f-9b0e-13a3a9e97384} appversion>=4.0
注記: the appversion has to be at least 2 digits long or it won't work with versions of Gecko before 1.8.0.13 and 1.8.1.5.
参照 : Adding a button by default