--- title: Sidebar slug: Code_snippets/Sidebar tags: - Add-ons - Extensions translation_of: Archive/Add-ons/Code_snippets/Sidebar ---

Firefox サイドバー拡張機能の作成に関するステップバイステップの説明は Firefox のサイドバーの作成チュートリアルを参照してください。


著者: もっとサイドバー関連のコンテンツを追加してください

{{ 英語版章題("Resizing the sidebar programmatically") }}

サイドバーをプログラムからリサイズ

サイドバーの幅を変更したい場合は以下のコードを使ってください

function setSidebarWidth(newwidth) {
 var mainWindow = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
 .getInterface(Components.interfaces.nsIWebNavigation)
 .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
 .rootTreeItem
 .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
 .getInterface(Components.interfaces.nsIDOMWindow);
 mainWindow.document.getElementById("sidebar-box").width=newwidth;
}

あるいは

function setSidebarWidth(newwidth) {
  window.top.document.getElementById("sidebar-box").width=newwidth;
}

サイドバーのスピリッタを隠すことで、マウスを使った手動のリサイズを無効にすることができます。このコードの断片を動くようにするには、前のコードブロックで書いたように mainWindow を宣言しなくてはなりません:

mainWindow.document.getElementById("sidebar-splitter").hidden = true;

スピリッタの hidden 属性を変更するときは注意してください。サイドバーが閉じられるあるいは他のサイドバーで置き換えられるときにそれらを安全な値にリセットする必要があります。例えば、これをサイドバーの Unload イベントハンドラで使用してください:

mainWindow.document.getElementById("sidebar-splitter").hidden = mainWindow.document.getElementById("sidebar-box").hidden;
{{ languages( { "en": "en/Code_snippets/Sidebar" } ) }}