2011-11-17 11 views
7

Próbuję uzyskać wideo, aby zamknąć pełny ekran na końcu wideo, ale nie będzie. Szukałem i znalazłem sposoby, żeby to zrobić, ale nie mogę zmusić go do działania. Testuję w najnowszej wersji Chrome (15) i iOS 5 na iPadzie2. Oto kod używam:Wyjście z trybu pełnoekranowego za pomocą znacznika wideo HTML5

<html> 
<head> 
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#myVideoTag").on('ended', function(){ 
    webkitExitFullScreen(); 
    }); 
}); 

</script> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>854x480</title> 
</head> 
<body> 
<video width="854" height="480" 
     src="video/854x480-Template_1.mp4" 
     poster="images/poster.jpg" 
     id="myVideoTag" 
     type="video/mp4" 
     preload="auto" 
     autobuffer 
     controls> 
    <p>Requires HTML5 capable browser.</p> 
</video> 

</body> 
</html> 

Każda pomoc będzie mile widziane.

Odpowiedz

14

webkitExitFullScreen to metoda elementu video, więc to musi być wywołana w ten sposób:

videoElement.webkitExitFullscreen(); 
//or 
$("#myVideoTag")[0].webkitExitFullscreen(); 
//or, without needing jQuery 
document.getElementsById('myVideoTag').webkitExitFullscreen(); 

Ponieważ jest to wewnątrz obsługi zdarzeń, this będzie video że ended tak:

$("#myVideoTag").on('ended', function(){ 
    this.webkitExitFullscreen(); 
}); 

To staje się nieco bardziej skomplikowane, ponieważ webkitExitFullscreen działa tylko w brwiach opartych na webkitach sers (Safari, Chrome, Opera), dzięki czemu możesz dowiedzieć się więcej o jego poprawnym używaniu na MDN

+0

Dzięki cbaigorri. To było to! Dzięki za pomoc. – ShockTower

+0

Wydaje się nie działać na iOS7 – Dejan

+3

Uwaga! Nazwa funkcji to 'webkitExitFullscreen' * not *' webkitExitFullScreen' (zauważ małe litery "s") –

2

Dziękuję cbaigorri, działało wspaniale w użyciu .webkitExitFullscreen();

użyłem następujących czynności, aby opuścić tryb pełnoekranowy, gdy wideo odbywa się gra:

<script type="text/javascript"> 
function CloseVideo() { 
    document.getElementsByTagName('video')[0].webkitExitFullscreen(); 
} 
</script> 

<video controls onended=CloseVideo() > 
    <source src="video.mp4" type="video/mp4"> 
</video> 
+0

Nie działa w IE. – Someone

3

wiem, że to jest już odpowiedź, ale tutaj jest mały fragment kodu skończyło się za pomocą wszystkich przeglądarek, aby zamknąć pełnoekranowego wideo po tym się kończy.

Prace nad Chrome, IE11, Firefox dotąd:

$("#myVideoTag").on('ended', function(){ 
    if (document.exitFullscreen) { 
     document.exitFullscreen(); // Standard 
    } else if (document.webkitExitFullscreen) { 
     document.webkitExitFullscreen(); // Blink 
    } else if (document.mozCancelFullScreen) { 
     document.mozCancelFullScreen(); // Gecko 
    } else if (document.msExitFullscreen) { 
     document.msExitFullscreen(); // Old IE 
    } 
}); 

Można również znaleźć aktualny pełny elementu ekranu (jeśli w ogóle) jak:

var fullscreenElement = document.fullscreenElement || 
    document.mozFullScreenElement || document.webkitFullscreenElement; 

Źródło: https://www.sitepoint.com/use-html5-full-screen-api/

Pomyślałem, że dodam odpowiedź, ponieważ było to pierwsze pytanie, które napotkałem, szukając rozwiązania tego problemu.