Firefox でインストールする為の xpi ファイルを作成する :Firefox 拡張機能 (Extensions) の作成方法(8)

拡張子が xpi のファイルが、Firefox 用のインストールファイルですが、
作成するのは簡単で、以下の構成を zip ファイルとして作成して拡張子を xpi に変更するだけです。
( 私は 7-Zip で作成しました )
※ _PH.mkp は MKEditor 用のプロジェクトなので必要ありません



こうしてできたファイルを pagehack_sample.xpi とします。
ただ、このまま FTP でアツプロードしただけでは、Firefox は インストールしてくれませんので
注意が必要です

Firefox_ex_5

ダウンロードしたファイルの拡張子が xpi であれば、
Firefox にドラッグ・ドロップするとインストール可能ですが、
配布方法としてはスマートでは無いのでサーバー側に設定する必要があります
.htaccess を作成する
xpi ファイルをアップロードしたディレクトリに既にある場合は
ダウンロードして以下の一行を追加してアップロードします。

新規の場合はファイルを作成して以下の一行を書き込みます
.htaccess
但し、このファイル名は windows のエクスプローラから作成できない
ので、コマンドプロンプトを開いて以下のように実行して作成する
と良いでしょう


ダウンロード
.htaccess を作成した後、ダウンロードしようとすると以下のようになります

Firefox_ex_6

そして、「許可」ボタンをクリックすると以下のようなダイアログが出現するので
インストールが可能になります

Firefox_ex_7


PHP で配布したい場合の記述方法
Firefox_ex_8

PHP で以下のように記述する事によって、Firefox は拡張子が php でも
インストールしてくれます。

( pagehack_sample.xpi と同じディレクトリに置きます )
pagehack_sample.php
1.<?
2.header( "Content-Type: application/x-xpinstall" );
3.header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
4. 
5.print file_get_contents( "pagehack_sample.xpi" );
6. 
7.?>
しかし、このままでは他のブラウザでリンクをクリックした場合に、拡張子が
php として保存しようとするので以下のようにすると良いでしょう
01.<?
02.header( "Content-Type: application/x-xpinstall" );
03.header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
04. 
05.$b = $_SERVER['HTTP_USER_AGENT'];
06.if ( strstr( $b, "Firefox" ) === FALSE ) {
07.    header( "Content-disposition: attachment; filename=pagehack_sample.xpi" );
08. 
09.}
10. 
11.print file_get_contents( "pagehack_sample.xpi" );
12. 
13.?>