Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

非標準
This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.

概要

アプリのインストールを実行します。インストールの過程で、アプリは検証され、ユーザはインストールを許可するかどうか訪ねられます。

アプリが既に同じドメインからインストールされていた場合、install() を再度呼び出すことで既存のインストールデータが確認なく上書きされます。これは、例えばユーザが無料版からプレミアム版にアップグレードした場合など、購入レシートの変更に使用される場合があります。

構文

var request = window.navigator.mozApps.install(url, [receipt1, …]);

引数

注: 現在 (2012 年 5 月時点)、url 引数に相対パスを使った場合に生じるバグがあります。バグ 745928 を参照してください。
url
インストールされる マニフェスト の場所を含んだ string 型の URL。独自配布の場合 (インストール元がアプリの生成元と同じ場合)、インストール元のサイトは URL の生成元部分を省略し、(/ で始まる) 絶対パスを使うことも可能です。
receipts
(オプション) 1 つあるいは複数のレシートの配列を含む配列。例:
window.navigator.mozApps.install(url, ["receipt"])
receipts が省略された場合、これは null として扱われます。詳しくは レシートの検証 を参照してください。

要求された引数 (url) が欠落していた場合、あるいは非対応の引数が与えられた場合、install() 関数は例外を投げます。

戻り値

install() 関数は DOMRequest オブジェクトを返します。DOMRequest.result フィールドには App オブジェクト が含まれ、これはインストールされたばかりのアプリを説明する JavaScript オブジェクトです。操作が完了するまでは、DOMRequest.resultnull です。

インストールが成功しなかった場合、DOMRequest.error には DOMError オブジェクト が含まれ、これにはエラーに関する情報が含まれます。

DOMRequest.onsuccessDOMRequest.onerror コールバックプロパティとともに install() を使う方法を示した例です。

var request = window.navigator.mozApps.install(manifestUrl);
request.onsuccess = function () {
  // 戻り値の App オブジェクトを保存
  var appRecord = this.result;
  alert('インストール成功!');
};
request.onerror = function () {
  // DOMError オブジェクトからエラー情報を表示
  alert('インストール失敗、エラー: ' + this.error.name);
};

インストールが成功した場合、onsuccess コールバックが呼び出されます。これは、ここ に書かれているインストールアクションが発生したことを意味します。

インストールが成功しなかった場合、onerror コールバックが呼び出されます。失敗したインストールでは、DOMRequest.error にエラーに関する情報を含む DOMError オブジェクトが含まれます。

上のコードでは、既に呼び出された関数の後にリスナーが追加されているため、おかしな感じに見えるかもしれません。しかし、これが DOMRequest オブジェクトの操作方法なのです。関数の呼び出しはリスナーが定義されるまで待機し、リスナーは適切に呼び出されます。install() 関数は onsuccessonerror リスナーが定義されていない場合でも動作します。

エラー

インストールが成功しなかった場合、以下のエラーのいずれかが DOMRequest.error に含まれて返ります。

DENIED
ユーザがインストールをキャンセルした。
INVALID_MANIFEST
マニフェストが、正しい JSON 形式ではあるものの、必要な項目を含んでいないか、何らかの不正な状態。
MANIFEST_URL_ERROR
HTTP 200 以外のステータスコードが返ってきた、あるいは何らかの接続エラー。
MANIFEST_PARSE_ERROR
マニフェストの JSON が不正な形式。
NETWORK_ERROR
接続エラー。
REINSTALL_FORBIDDEN
アプリの再インストールが禁止されている。
MULTIPLE_APPS_PER_ORIGIN_FORBIDDEN
インストール可能なアプリには「オリジンごとにアプリひとつ」というセキュリティポリシーが適用され、基本的に 1 つのオリジンで 2 つ以上のアプリをホストできません。

ドキュメントのタグと貢献者

 このページの貢献者: fscholz, AshfaqHossain, kohei.yoshino, chikoski, ethertank
 最終更新者: AshfaqHossain,