非標準
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.
概要
現在のアプリに関する情報を返します。つまり、呼び出し元アプリとドメインが一致するインストール済みアプリの情報です。これを使ってアプリがインストールされているかどうかを判別できます。
注: ひとつの生成元 (オリジン) に複数のアプリをホストすることはできません。ひとつのドメインで複数のアプリを登録したい場合は、例えば myapp.mydomain.com
、otherapp.mydomain.com
のように、アプリごとにサブドメインを用意してください。
構文
var request = window.navigator.mozApps.getSelf()
;
引数
ありません。
戻り値
getSelf()
は DOMRequest
オブジェクトを返します。success
イベントが DOMRequest
に対して通知されると、DOMRequest.result
フィールドには、現在のアプリを表す App
オブジェクト、あるいは getSelf()
がアプリ外部から呼び出された (つまりアプリがインストールされていない) 場合は null
が含まれます。操作が完了するまでは、DOMRequest.result
は null
です。
呼び出しが成功しなかった場合、error
イベントが DOMRequest
に対して通知され、DOMRequest.error
には DOMError
オブジェクトが含まれ、これにはエラーに関する情報が含まれます。
例
DOMRequest.onsuccess
と DOMRequest.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.result
が null
の場合、アプリがインストールされていないことが分かります。
アプリがそのプロトコルを HTTP から HTTPS へ変えている場合は、navigator.mozApps.checkInstalled()
を使ってインストールされているか判別した方が良いでしょう。