在iOS上通过(外部)javascript启动YouTube iframe播放器

til*_*lda 5 youtube api iframe playback ios

iOS上的Safari有一个策略,只允许在当前javascript执行以用户操作(通常是单击事件)开始时播放媒体.

但是,当我将一个处理程序附加到一个触发的按钮someYoutubePlayer.playVideo()并且用户单击此按钮时,实际发生的是:

  1. 一个click事件在主网页窗口发射
  2. playVideo方法postMessage在youtube上触发<iframe />
  3. 在iframe内部message触发了一个事件
  4. message事件的处理程序将触发domVideo.play() 失败,因为当前事件不再是click,但是message,因为我们在内部iframe窗口中.

有谁知道如何克服这个并触发外部点击事件的播放?

Seb*_* OH 0

为什么不直接从 url 加载视频,而不是在iFrame??中加载视频?这将使您的应用程序的负载减少,泄漏也将减少到最小。

例如 http://www.youtube.com/watch?v= ....