Es gelang mir, einen relativ sauberen und einfachen Weg zu finden, dies zu tun. Um zu sehen, wie es funktioniert, klicken Sie auf meine Webseite: http://developersfound.com/yde-portfolio.html und bewegen Sie den Mauszeiger über den Link "Youtube Demos".
Im Folgenden finden Sie zwei Ausschnitte, die zeigen, wie dies ganz einfach möglich ist:
Dies habe ich mit einem iFrame erreicht. Angenommen, dieses DOM ist 'yde-home.html'. Dies ist die Quelle Ihres iFrame.
<!DOCTYPE html>
<html>
<head>
<title>iFrame Container</title>
<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
<style type="text/css">.OBJ-1 { border:none; }</style>
<script>
$(document).ready(function() {
$('#myHiddenButton').trigger('click');
});
</script>
</head>
<body>
<section style="visibility: hidden;">
<button id="myHiddenButton" onclick="$(location).attr('href', '"http://www.youtube.com/embed/wtwOZMXCe-c?version=3&start=0&rel=0&fs=1&wmode=transparent;");">View Full Screen</button>
</section>
<section class="main-area-inner" style="background:transparent;margin-left:auto;margin-right:auto;position:relative;width:1080px;height:720px;">
<iframe src="http://www.youtube.com/embed/wtwOZMXCe-c?version=3&start=0&rel=0&fs=1&wmode=transparent;"
class="OBJ-1" style="position:absolute;left:79px;top:145px;width:1080px;height:720px;">
</iframe>
</section>
</body>
</html>
Angenommen, dies ist das DOM, das den iFrame lädt.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>Full Screen Youtube</title>
<script type="text/javascript" src="js/jquery-2.1.4.min.js"></script>
<script>
$(document).ready(function() {});
</script>
</head>
<body>
<iframe name="iframe-container" id="iframe-container" src="yde-home.html" style="width: 100%; height: 100%;">
<p>Your browser does not support iFrames</p>
</iframe>
</body>
</html>
Ich habe dies auch mit dem W3c Validator verglichen und er validiert einen HTML5 ohne Fehler.
Es ist auch wichtig zu beachten, dass: Youtube-Einbettungs-URLs manchmal prüfen, ob die Anforderung von einem Server stammt, sodass möglicherweise Ihre Testumgebung so eingerichtet werden muss, dass Ihre externe IP-Adresse abgehört wird. Daher müssen Sie möglicherweise die Portweiterleitung auf Ihrem Router einrichten, damit diese Lösung funktioniert. Sobald Sie die Portweiterleitung eingerichtet haben, testen Sie einfach von der externen IP anstelle von LocalHost. Denken Sie daran, dass einige Router eine Portweiterleitung von LocalHost / Loopback benötigen, die meisten jedoch dieselbe IP-Adresse verwenden, mit der Sie sich beim Router angemeldet haben. Wenn Ihre Router-Anmeldeseite beispielsweise 192.168.0.1 lautet, muss die Portweiterleitung 192.168.0 verwenden. wo ? kann eine beliebige nicht verwendete Nummer sein (möglicherweise müssen Sie experimentieren). Von dieser Adresse aus würden Sie die Ports hinzufügen, von denen Ihre Testumgebung abhört (normalerweise 80, 81, 8080 oder 8088).