質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

YouTube

YouTubeとはユーザーがビデオをアップロード・共有・閲覧できるビデオ共有ウェブサイトです。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

638閲覧

youtubeプレイヤーを非表示にしても音がなってしまう

owl

総合スコア42

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

YouTube

YouTubeとはユーザーがビデオをアップロード・共有・閲覧できるビデオ共有ウェブサイトです。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2017/08/30 08:37

###現状
jquery.cookie.jsを使用し、初回のアクセス時にのみyoutube動画を表示し、2回目以降は表示させない仕組みを実装しようとし、なんとか実装はできたのですが、youtubeプレイヤーのiframeをdisplay:noneを指定しても表示は消えるのですが、音がなっている状況です。

###試したこと
パラメータの方で自動再生をオンにしていますので、2回目以降のアクセス時にytPlayer.pauseVideo();を指定したのですがうまくいきませんでした。
2回目以降アクセス時に自動再生をpauseVideo()でオフにするか、パラメータのautoplayを0にする必要があると思います。

jsfiddleにコードをアップしています。
https://jsfiddle.net/ululami/sokznxfk/11/

クッキー削除ボタンを設置しましたので確認時に活用していただければ幸いです。

ご回答よろしくお願いいたします。

###該当のソースコード

javascript

1// IFrame Player API の読み込み 2var tag = document.createElement('script'); 3tag.src = "https://www.youtube.com/iframe_api"; 4var firstScriptTag = document.getElementsByTagName('script')[0]; 5firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 6 7var ytPlayer; 8function onYouTubeIframeAPIReady() { 9 ytPlayer = new YT.Player( 10 'movieSet', 11 { 12 width: 640, 13 height: 390, 14 videoId: 's8zCzr9h7io', 15 playerVars: { 16 autoplay: 1 17 } 18 } 19 ); 20} 21 22$(function(){ 23 // 1回目のアクセス 24 if($.cookie('access') == undefined) { 25 $.cookie('access','onece'); 26 $('#movieSet').css('display','block'); 27 // 2回目以降 28 } else { 29 $('#movieSet').css('display','none'); 30 ytPlayer.pauseVideo(); 31 } 32}); 33 34//確認用cookie削除ボタン 35$('button').on('click',function(){ 36 $.removeCookie('access'); 37})

html

1<div id="movieSet"></div> 2<button>確認用cookie削除ボタン</button>

###補足情報(言語/FW/ツール等のバージョンなど)
jquery-cookie v1.4.1
jquery v3.2.1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

無理矢理ですがこんな方法を考えました。

javascript

1document.getElementById('movieSet').parentNode.removeChild(document.getElementById('movieSet'));

※jsFiddleの使い方がよく分からずめっちゃupdateしておりますがご容赦ください。。

投稿2017/08/30 16:30

roytaman

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

owl

2017/10/01 22:59

ご返信が遅れて申し訳ありません。 無事に実装できました。 本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問