プラグインにデータを渡す

このトピックでは、プラグインの初期化時に使用するために、どのようにプラグインへデータを渡すことができるかを学びます。

options プロパティを定義する

プラグインを呼び出す際、plugins に追加の子プロパティとして options を使用することもできます。options プロパティはオブジェクトである必要がありますが、オブジェクトの配列のような複雑なデータ構造を含めることも可能です。

以下は、必須の子プロパティである name と、任意の子プロパティである options を含む plugins プロパティを示した curl ステートメントの一部です。options プロパティで渡されたデータは、プラグイン内で使用できます。

  "plugins": [{
    "name": "navigateOnVideoEnd",
    "options" : {"redirectURL": "http://docs.brightcove.com"}
  }]

embed_in_page プレーヤー実装(プレーヤータグが iframe ではなく HTML ページ内に配置される実装)を使用する場合にも、options プロパティを利用できます。その場合は、データ オブジェクトを作成し、引数として渡すだけです。以下に例を示します。

  <script type="text/javascript">
    var options = {"redirectURL": "http://docs.brightcove.com"};
  </script>
  <script>videojs.getPlayer('myPlayerID').navigateOnVideoEnd(options);</script>

options データを使用する

options プロパティを使用すると、プレーヤー設定を通じてプラグインにデータを渡し、プラグイン初期化時に利用することができます。たとえば、上記で示した redirectURL オブジェクトを使用するには、プラグイン内で次のように実装します。

  videojs.registerPlugin('navigateOnVideoEnd', function (options) {
    var myPlayer = this;
    myPlayer.on("ended", function () {
      window.location.href = options.redirectURL;
    });
  });

注: 標準的なプラグイン実装を使用しますが、無名関数のパラメータとして options を使用します。これにより、options.propertyName という記法で値にアクセスできます。