非標準
この機能は現在 W3C の標準化のプロセスに乗っていませんが、Firefox OS プラットフォームではサポートされています。将来は動作が変わるかもしれませんし、他のブラウザーで広くサポートされているわけでもありませんが、Firefox OS アプリ専用のコードで使うには適しています。

概要

現在のアプリに関する情報を返します。つまり、呼び出し元アプリとドメインが一致するインストール済みアプリの情報です。これを使ってアプリがインストールされているかどうかを判別できます。

注: ひとつの生成元 (オリジン) に複数のアプリをホストすることはできません。ひとつのドメインで複数のアプリを登録したい場合は、例えば myapp.mydomain.comotherapp.mydomain.com のように、アプリごとにサブドメインを用意してください

構文

var request = window.navigator.mozApps.getSelf();

引数

ありません。

戻り値

getSelf()DOMRequest オブジェクトを返します。success イベントが DOMRequest に対して通知されると、DOMRequest.result フィールドには、現在のアプリを表す App オブジェクト、あるいは getSelf() がアプリ外部から呼び出された (つまりアプリがインストールされていない) 場合は null が含まれます。操作が完了するまでは、DOMRequest.resultnull です。

呼び出しが成功しなかった場合、error イベントが DOMRequest に対して通知され、DOMRequest.error には DOMError オブジェクトが含まれ、これにはエラーに関する情報が含まれます。

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

var request = window.navigator.mozApps.getSelf();
request.onsuccess = function() {
  if (request.result) {
    // App オブジェクトからアプリの名称を取得
    alert("現在のアプリの名称: " + request.result.manifest.name);
  } else {
    alert("アプリ外部から呼び出されました");
  }
};
request.onerror = function() {
  // DOMError オブジェクトからエラー名を表示
  alert("エラー: " + request.error.name);
};

呼び出しが成功した場合、戻り値オブジェクトの result プロパティに App オブジェクトが含まれています。この例では request.result に当たります。request.resultnull の場合、アプリがインストールされていないことが分かります。

アプリがそのプロトコルを HTTP から HTTPS へ変えている場合は、navigator.mozApps.checkInstalled() を使ってインストールされているか判別した方が良いでしょう。

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

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