Your Search Results

    Apps.install

    « DOM リファレンス

    非標準

    概要

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

    アプリが既に同じドメインからインストールされていた場合、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 つ以上のアプリをホストできません。

    Document Tags and Contributors

    Contributors to this page: ethertank, Yoshino, chikoski
    最終更新者: Yoshino,