私はiframeにオーバーレイがあり、ユーザーがそのiframeオーバーレイの動画を再生すると再生が始まるようにしたいと考えています。そのページはすべての記事をリストしているので、さらにiframeがあるので、その要素から1つを選んでそれを再生する必要があります。 Angularでどうすればいいですか?クリックイベントが発生したときにコントローラで何をすべきですか?角度 - クリック時にYouTube動画を再生する方法
これは私のhtmlです:
<div class="iframe" ng-show="article.external_media.length > 0 && article.external_media.url != ''">
<iframe ng-src="{{article.external_media[0].url | safeUrl }} "></iframe>
<div class="article-image-link">
<h1>{{ article.title.split(' ', 7).join(' ') }}</h1>
</div>
<div class="iframe-overlay" ng-click="playVideo()"></div>
</div>
更新
私は、YouTubeのAPIを使用する必要はありません提案を試してみましたが、ビデオが再生されていませんでした。これは私のコードです:
<div class="iframe" ng-show="article.external_media.length > 0 && article.external_media.url != ''">
<iframe ng-if="!hasOverlayBeenClicked" ng-src="{{article.external_media[0].url + '&controls=0&showinfo=0' | safeUrl }}"></iframe>
<iframe ng-if="hasOverlayBeenClicked" ng-src="{{article.external_media[0].url + '&autoplay=1' | safeUrl }} "></iframe>
<div class="article-image-link">
<h1 ng-hide="videoPlaying[$index]">{{ article.title.split(' ', 7).join(' ') }}</h1>
</div>
<div class="iframe-overlay" ng-click="playVideo($index)"></div>
</div>
マイコントローラ:
言及以下の記事に基づいて$scope.playVideo = function(index) {
$scope.videoPlaying[index] = true;
$scope.hasOverlayBeenClicked = true;
};
あなたはどのように達成するための一例で私を見るために親切にすることができればそれはYoutube APIを使って、私はAPIまたはCANへのリクエストをする必要がありますか?私はただビデオを再生するためにそれを避けますか? – Marco