通常は、Firefox 拡張機能に実際実装してテストしますが、込み入った処理の場合
拡張機能にしてしまうとデバッグが大変です。ですから、普通の HTML に書いて
ローカルのファイルシステムとして Firefox に実行させてテストします。
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=euc-jp" />
<SCRIPT type="text/javascript">
function lbox_Process() {
// ローカルファイルシステムでこのページを表示している場合は
// これを実行すると、確認ダイアログ付きで特権機能が実行可能になる
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
// 実行可能ファイルに nsILocalFile を作成する
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\WINNT\\notepad.exe");
// nsIProcess を作成する
var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(file);
// プロセスの起動。
// 最初のパラメータが true なら、
// スレッドはプロセスが終わるまでブロックされます。
// 二つ目と三つ目のパラメータは、
// プロセスのコマンドライン引数になります。
var args = ["C:\\WINNT\\system32\\drivers\\etc\\hosts"];
process.run(false, args, args.length);
}
</SCRIPT>
</HEAD>
<BODY>
<INPUT
type="button"
value="メモ帳"
onClick='lbox_Process();'
>
</BODY>
</HTML>
上記コードは、メモ帳を起動するコードですが、
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
を実行する事によって、特権を確認するダイアログを表示させて
ユーザーに確認させる事ができるようになります。
|
|
【Firefox拡張機能の最新記事】
- 【9】Firefox の再起動と右クリックしたカーソルの下のオブジェクトの取得
- 【8】Firefox でインストールする為の xpi ファイルを作成しWEBで配布する為の知識
- 【7】表示されているページを加工したりそのページで定義されている関数を呼び出す
- 【6】テスト環境を構築する
- 【5】メニューからダイアログが表示されるようにする
- 【4】メニューの位置と指定サイトのみ表示する為のカスタマイズ
- 【3】実行の入り口であるメニュー(見た目)のカスタマイズ
- 【2】Add-on Developer Hub から雛形を手に入れてインストールする
- 【1】Firefox拡張機能でIE 拡張メニューに相当する機能を実装する



