SQLの窓 タグリンク

2009年03月13日


【10】Firefox の特殊な機能(XPCOM)の簡単なテスト方法

通常は、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_ex_10

Firefox_ex_11




posted by at 10:58 | Firefox拡張機能 | このブログの読者になる | 更新情報をチェックする



【9】Firefox の再起動と右クリックしたカーソルの下のオブジェクトの取得

IE の拡張メニューで実装している、カーソル下のオブジェクトより、いろいろな
HTML の情報を取り出して加工後クリップボードへ送るという処理と同じ事を
行う為のサンプルと、簡単で重要そうな Firefox の再起動です。

posted by at 10:57 | Firefox拡張機能 | このブログの読者になる | 更新情報をチェックする



【8】Firefox でインストールする為の xpi ファイルを作成しWEBで配布する為の知識

xpi ファイルを単純にダウンロードさせるのならば、.htaccess に
AddType するだけですが、WEB アプリケーションとして PHP でダウンロード
させるにはちょっとした工夫が必要です。

※ 拡張子が xpi のファイルを作成するのは簡単で、
※ 構成を zip ファイルとして作成して拡張子を xpi に変更するだけです
posted by at 10:52 | Firefox拡張機能 | このブログの読者になる | 更新情報をチェックする