blob: 5fdd46a1cefa92e9ef68f6d9c1febb6aae806cbb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
---
title: Apps.getSelf
slug: Web/API/DOMApplicationsRegistry/getSelf
tags:
- API
- Apps
- Apps API
- Firefox OS
- Method
translation_of: Archive/Marketplace/API/DOMApplicationsRegistry/getSelf
---
<p>{{ ApiRef() }}</p>
<p>{{ non-standard_header() }}</p>
<h2 id="Summary" name="Summary">概要</h2>
<p>現在のアプリに関する情報を返します。つまり、呼び出し元アプリとドメインが一致するインストール済みアプリの情報です。これを使ってアプリがインストールされているかどうかを判別できます。</p>
<div class="note">
<p><strong>注:</strong> ひとつの生成元 (オリジン) に複数のアプリをホストすることはできません。ひとつのドメインで複数のアプリを登録したい場合は、例えば <code>myapp.mydomain.com</code>、<code>otherapp.mydomain.com</code> のように、<a href="/ja/docs/Web/Apps/Adding_a_subdomain">アプリごとにサブドメインを用意してください</a>。</p>
</div>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre><code>var request = window.navigator.mozApps.getSelf()</code>;
</pre>
<h2 id="Parameters" name="Parameters">引数</h2>
<p>ありません。</p>
<h2 id="Returns" name="Returns">戻り値</h2>
<p><code>getSelf()</code> は <a href="/ja/docs/Web/API/DOMRequest"><code>DOMRequest</code></a> オブジェクトを返します。<code>success</code> イベントが <code>DOMRequest</code> に対して通知されると、<code>DOMRequest.result</code> フィールドには、現在のアプリを表す <a href="/ja/docs/Web/API/App"><code>App</code> オブジェクト</a>、あるいは <code>getSelf()</code> がアプリ外部から呼び出された (つまりアプリがインストールされていない) 場合は <code>null</code> が含まれます。操作が完了するまでは、<code>DOMRequest.result</code> は <code>null</code> です。</p>
<p>呼び出しが成功しなかった場合、<code>error</code> イベントが <code>DOMRequest</code> に対して通知され、<code>DOMRequest.error</code> には <a href="/ja/docs/Web/Apps/JavaScript_API/Error_object"><code>DOMError</code></a> オブジェクトが含まれ、これにはエラーに関する情報が含まれます。</p>
<h2 id="Example" name="Example">例</h2>
<p><code>DOMRequest.onsuccess</code> と <code>DOMRequest.onerror</code> コールバックプロパティとともに <code>getSelf()</code> を使う方法を示した例です。</p>
<pre class="brush: js">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);
};</pre>
<p>呼び出しが成功した場合、戻り値オブジェクトの <code>result</code> プロパティに <a href="/ja/docs/Web/API/App"><code>App</code></a> オブジェクトが含まれています。この例では <code>request.result</code> に当たります。<code>request.result</code> が <code>null</code> の場合、アプリがインストールされていないことが分かります。</p>
<p>アプリがそのプロトコルを HTTP から HTTPS へ変えている場合は、<a href="/en-US/docs/Web/API/Apps.checkInstalled"><code>navigator.mozApps.checkInstalled()</code></a> を使ってインストールされているか判別した方が良いでしょう。</p>
<h2 id="Related_topics" name="Related_topics">関連情報</h2>
<ul>
<li><a href="/ja/docs/Web/Apps/JavaScript_API">Apps JavaScript API</a></li>
</ul>
|