控制嵌入式JWPlayer

时间:2017-04-11 22:38:38

标签: javascript html5 jwplayer

我们公司的客户使用JWPlayer作为视频内容。为了将它们集成到我们的SaaS平台中,我们使用它们提供的代码嵌入其内容:

<iframe src="http://video.CLIENTWEBSITE.com/players/MEDIAID-PLAYERID.html" width="100%" height="100%" frameborder="0" scrolling="auto" allowfullscreen style=”position:absolute;”></iframe>

嵌入中的源链接(出于显而易见的原因编辑)中有JWPlayer代码,可以访问Javascript API来执行播放,暂停等操作。我正在寻找一种方法来包含引用到JWPlayer API,所以我可以直接实例化一个jwplayer对象(如API文档中所示),或者使用像postMessage这样的跨源通信将命令发送到嵌入页面。我搜索了API文档和StackOverflow但找不到答案。有没有人遇到过这个?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用嵌入JW平台托管播放器的IFRAME方法基本上会限制您从母页与JW播放器/ API进行交互的选项,以简化&#34;播放&#34;并且&#34;暂停&#34;请求。

可以使用&#34; postMessage&#34;将这些请求发送到iframe。跨框架消息传递技术,但以下是唯一的#34;听众&#34;目前提供。

/** Used to pass play/pause messages parent iframe via postMessage **/
window.addEventListener("message", function(evt) {
  switch (evt.data) {
    case "play":
      jwplayer().play(true);
      break;
    case "pause":
      jwplayer().pause(true);
      break;
  }
});

假设资产是从JW平台链接到的,那么一个潜在的更好的方法是使用嵌入在父页面上的直接JS嵌入而不是嵌入IFRAME。

这个简单的方法是更改​​&#34; .html&#34;中使用的URL的扩展名。 to&#34; .js&#34;并使用SCRIPT标记而不是IFRAME:

<script src="http://video.CLIENTWEBSITE.com/players/MEDIAID-PLAYERID.js"></script>

这将使玩家在您的页面中内嵌,提供对JW Player&amp ;;的完全访问权限。 API。根据玩家在JW仪表板中的配置方式,您可能需要将其包装在其他家具中以控制尺寸。