【问题标题】:Interact with embedded Dailymotion (DMCloud) iframe video?与嵌入式 Dailymotion (DMCloud) iframe 视频交互?
【发布时间】:2014-11-13 21:41:23
【问题描述】:

当在我的页面的 iframe 中显示 Dailymotion (DMCloud) 视频时,我如何使用 JavaScript 与视频交互 - 例如获取当前播放时间?

Dailymotion 对此有一个 JS SDK (docs),但我找不到如何使用 SDK 与现有 iframe 交互而不是创建一个新 iframe。

所以,假设我有类似的东西:

<iframe src="https://api.dmcloud.net/embed/4e5bf73e94a6f629c900461b/4fcbcc1a06361d0dda000267?auth=1571064530-0-6tpgjq7u-30443abdac10acef6cf336eb89412713&amp; id="foo"></iframe>

使用JS,如何获取视频的当前播放时间?

【问题讨论】:

    标签: iframe dailymotion-api


    【解决方案1】:

    看起来您正在混合 DM 云和 Dailymotion.com API 不同,云播放器的文档可以在 https://www.dmcloud.net/doc/api/player-video_player.html 找到

    页面底部有一个工作示例:http://api.dmcloud.net/static/dmplayer/dmplayer-sdk.html

    无论如何,我认为您缺少您所引用的代码,但我确认您无法控制或与不是使用 API 创建的 iframe 交互。

    【讨论】:

    • 谢谢。是的,由于某种原因,代码丢失了。不能与现有的 iframe 交互,这太糟糕了。我们可能会求助于使用 DM.player 手动重新创建 iframe,这有点愚蠢,但却是最直接的方法。任何机会 DM.player 可以改为公开该功能..?也就是说,解析 iframe 并在这次保留控制权的情况下重新创建它?
    • 不,这不能暴露,你为什么不首先使用api在你的网站/应用程序上创建iframe?
    【解决方案2】:

    好吧,@Dailymotion 似乎有可能,iframe 需要使用 &api=postMessage 加载,然后你会获得对 iframe 的 DOM 引用并执行以下操作:

    iframe.contentWindow.postMessage('play', '*');
    

    而且它有效。

    【讨论】:

      猜你喜欢
      • 2021-01-28
      • 2022-01-10
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多