拡張機能を使って、現在表示している WEB ページに直接アクセスするのが目的ですが、 その処理を行うベースとしてダイアログを使用します。 一から作るのは面倒なので、オンライン雛型作成 で作成される About ダイアログをそのまま利用します。ですから、About ダイアログとして使用されないように、 install.rdf を変更する必要があります この変更は、再インストールが必要なので一旦 Firefox から削除してから Firefox を 再起動します。その際既にインストール済みのソースが必要な場合は、他の場所に コピーして保存しておきます(実際に削除されてしまうので)。 ↓赤い部分を削除 install.rdf についてはこちらを参照 メニューを選択した場合にダイアログを表示するようにするデフォルトでは、onMenuItemCommand で以下のようなコードでメッセージボックスが 表示されるようになっていますので、openDialog に変更します var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] .getService(Components.interfaces.nsIPromptService); promptService.alert(window, this.strings.getString("helloMessageTitle"), this.strings.getString("helloMessage")); overlay.js
var tk = { onLoad: function() { // initialization code this.initialized = true; this.strings = document.getElementById("tk-strings"); }, onMenuItemCommand: function(e) { var features = "chrome, dialog, modal, centerscreen,"; features += "resizable=yes, width=400, height=300"; window.openDialog( "chrome://tk/content/about.xul", "", features , null ); }, }; window.addEventListener("load", function(e) { tk.onLoad(e); }, false); openDialog の引数に関しては、window.open を参照して下さい (window.openDialog は翻訳されていません) 画面の定義は about.xul で行われているので、ダイアログのサイズ指定を有効にする為にsizeToContent を削除します ※ window.sizeToContent は、コンテンツの大きさにウィンドウのサイズを変更します about.xul |