• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Film z YouTube, który zamyka się po kliknięciu na cokolwiek innego.

Object Storage Arubacloud
0 głosów
507 wizyt
pytanie zadane 20 listopada 2015 w JavaScript przez HaKIM Szeryf (87,590 p.)
otagowane ponownie 22 listopada 2015 przez HaKIM

 Hejka, jak tam wieczór?

 To tak, zacznijmy od tego iż miałem problem z adekwatnym tytułem ale mniejsza. Mój problem polega na tym iż po zaczerpinięciu kodu, który zaraz się pojawi, wystąpił problem, raczej nie błąd gdyż to normalne działanie skryptu. Otóż mam prośbę do ludzi, którzy znają Javascript, ja ososbiście nie mam zapału do nauki tego języka, moglibyście zedytować - o ile się da - bądź przerobić kod tak, aby po kliknięciu na tło, film zapauzował się?

Oto kod html:

					<a type="button" class="btn btn-default" data-toggle="modal" data-target=".bs-example-modal-lg">Obejrzyj</a>
						<div class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
							<div class="modal-dialog modal-lg">
									<iframe width="1280" height="720" src="https://www.youtube.com/embed/IIrCDAV3EgI" frameborder="0" allowfullscreen></iframe>
							</div>
						</div>

 Gdyby kto nie zrozumiał problemu, proszę o kliknięcie "Obejrzyj", puszczenie filmu i kliknięcie na tło. (Muzyka nadal gra, film się nie zapauzował).

 Co do kodu js'a - będzie trochę gorzej, otóż, jak niektórzy spostrzegli, jest to kod bootstrap'a. Nie za bardzo siedzę w js'ie także niezbyt wiem która funkcja pasuje do owego kodu. Cóż, znalazłem w pliku js'a frazę "Modal", która również występuje w kodzie html'a, jakby kto wiedział, że modal właśnie za to ustrojstwo odpowiada to linia w pliku: 911

Pozdrawiam.

 

2 odpowiedzi

+1 głos
odpowiedź 22 listopada 2015 przez writen Nałogowiec (29,060 p.)
wybrane 22 listopada 2015 przez HaKIM
 
Najlepsza

Dobra. Mówię ci co i jak.

Na końcu adresu do filmu musisz dodać ?enablejsapi=1

Dam ci przykładowy kod, w którym film zatrzymujesz po kliknięciu na link. http://jsfiddle.net/writen/yfwp0xfv/1/

Wystarczy, że wewnątrz funkcji onPlayerReady wpiszesz kod, który ma robić to co chcesz.

komentarz 22 listopada 2015 przez HaKIM Szeryf (87,590 p.)

To jest to! Tylko jest problem, że raz mi się film zatrzymuje, a raz nie.

Kod:

						<div class="modal fade bs-example-modal-lg-'.$row->id_music.' pause" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" onclick="player.pauseVideo();">
							<div class="modal-dialog modal-lg">
								<iframe width="854" height="480" src="https://www.youtube.com/embed/2fngvQS_PmQ?enablejsapi=1" frameborder="0" allowfullscreen></iframe>
							</div>
						</div>

Kod Js'a:

		<script>
		var tag = document.createElement('script');

		      tag.src = "https://www.youtube.com/iframe_api";
		      var firstScriptTag = document.getElementsByTagName('script')[0];
		      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

		var player;
		      function onYouTubeIframeAPIReady() {
		        player = new YT.Player('player', {
		            events: {
		              'onReady': onPlayerReady
		            }
		        });

		      }

		function onPlayerReady() {
		    //tutaj sterujesz playerem
		$('.pause').on('click', function(e) {
			e.preventDefault();
		    player.stopVideo();
		});
		}
		</script>

 

komentarz 22 listopada 2015 przez writen Nałogowiec (29,060 p.)
Do iframe musisz dodać id="player". No i może być tylko jeden element z takim id.

Z tego diva możesz usunąć to onclick.
komentarz 22 listopada 2015 przez HaKIM Szeryf (87,590 p.)

Kurcze pieczone, a co jeśli chciałbym mieć więcej niż jeden element "player"?

Oczywisćie, daje Najlepsza. :)

(Jeśli mam być szczery, to sądziłem że nie uda się rozwiązać problemu.)

+2 głosów
odpowiedź 21 listopada 2015 przez Szymon Lisowiec Mądrala (7,150 p.)

Tutaj masz gotowiec (wystarczy lekko przerobić i doczytać):
https://developers.google.com/youtube/iframe_api_reference?hl=p

komentarz 21 listopada 2015 przez HaKIM Szeryf (87,590 p.)
Zaraz sprawdzę.
komentarz 21 listopada 2015 przez HaKIM Szeryf (87,590 p.)
Ta, to jest to... Tylko... Jak mam zrobić funkcję która będzie działała po kliknięciu na tło? To zanczy w której linii bootstrap.js wpierniczyć kod, który by odpowiadał za zatrzymanie?

-Nawet nie musi być w pliku boostrap.js, tylko żeby działało.
komentarz 21 listopada 2015 przez Szymon Lisowiec Mądrala (7,150 p.)

Dla elementu który jest tłem lub jakąś ikonką wyjścia, dać:

onclick="player.pauseVideo();"

 

komentarz 21 listopada 2015 przez HaKIM Szeryf (87,590 p.)

Nie działa, uwierz jestem słaby z Js'a.

Zrobiłem tak, do tła, czyli:

<div class="modal fade bs-example-modal-lg-'.$row->id_music.'" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" onclick="player.pauseVideo();">

- dodałem onclick="..." tyle że nie wiem ile kodu ze strony:

https://developers.google.com/youtube/iframe_api_reference?hl=pl#Mobile_considerations

mam wkleić do pliku bootstrap.js, albo między selektory(czy jak to tam się nazywa) <script></script>

jak dodałem między

<script>

var player;

      function stopVideo() {
        player.stopVideo();
      }
</script>

- również nie działało,

komentarz 21 listopada 2015 przez Szymon Lisowiec Mądrala (7,150 p.)
Poczytaj dokładnie link, który dałem wyżej do opisu API youtube. Naprawdę nie trzeba znać JS, żeby sobie z tym poradzić.

 

Możesz też spróbował dołączyć jQuery i użyć $('iframe#youtube').remove(); na kliknięcie.
komentarz 21 listopada 2015 przez HaKIM Szeryf (87,590 p.)
Tu właśnie jest problem, że trzeba się znać... Gdyby nie trzeba było, to zrobiłbym to ok. 30 min. temu od czytania artykłu, który mi podesłałeś jak i wklejaniem wszystkeigo po kolei, i sprawdzaniem czy są jakieś efekty. :***
komentarz 21 listopada 2015 przez Szymon Lisowiec Mądrala (7,150 p.)
Masz tam gotowiec..
komentarz 21 listopada 2015 przez HaKIM Szeryf (87,590 p.)

 "Masz tam gotowiec..." - TAM - Panie! Tam jest gotowiec, ale trza znać javascript aby obrobić go do moich potrzeb! Gdy usunąłem jedno, wszystko trafiło szlag! Ja rozumiem że nie chcesz pomóc, dać link i se radź, ale chopie, weź mi napisz "Radź se sam", "Nie mam czasu", a nie takie gargołuchy: "Poczytaj dokładnie link, który dałem wyżej do opisu API youtube." "Nie trzeba znać Javascriptu aby sobie z tym poradzić...", czy "Masz tam gotowiec...". Serio, to tylko denerwuje, gdy ktoś tak pisze.

Życzę milej nocy.

komentarz 22 listopada 2015 przez writen Nałogowiec (29,060 p.)
Ale API YouTube dołączyłeś do strony?
komentarz 22 listopada 2015 przez HaKIM Szeryf (87,590 p.)
Nie mam zielonego pojęcia. Gość, który pisał artykuł pominął napisać w prawym menu:

"Jak dołączyć API YouTube".

Tak czy inaczej, sądzę iż zaimplementowałem, gdyż przykład z działu "Pierwsze kroki" działa poprawnie.

Tak, dołączyłem - znalazłem to w kodzie:

// 2. This code loads the IFrame Player API code asynchronously.

Podobne pytania

0 głosów
0 odpowiedzi 702 wizyt
0 głosów
0 odpowiedzi 109 wizyt
pytanie zadane 6 lutego 2019 w HTML i CSS przez cyrus33 Użytkownik (680 p.)
0 głosów
1 odpowiedź 285 wizyt

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...