97 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
|   <head>
 | |
|     <style type="text/css">
 | |
|       body      { background-color: black; }
 | |
|       a:hover   { text-decoration: none; }
 | |
|       a:link    { color: black; }
 | |
|       a:visited { color: black; }
 | |
|       #main {
 | |
|         position: absolute;
 | |
|         left: 0%;
 | |
|         top: 0%;
 | |
|         width: 100%;
 | |
|         height: 100%;
 | |
|         padding: 0%;
 | |
|         z-index: 10;
 | |
|       }
 | |
|     </style>
 | |
|   </head>
 | |
|   <body id="body">
 | |
|   <script type="text/javascript">
 | |
|     // Nominal original size. If the embed is smaller than this, the play and logo
 | |
|     // images get scaled appropriately. These are actually 3/4 of the sizes suggested
 | |
|     // by youtube, so the images don't get too tiny.
 | |
|     defHeight = 258;
 | |
|     defWidth = 318;
 | |
| 
 | |
|     function setup() {
 | |
|         var width = document.body.clientWidth;
 | |
|         var height = document.body.clientHeight;
 | |
|         var canvas = document.getElementById("canvas");
 | |
|         // Resize the canvas to the right size
 | |
|         canvas.width = width;
 | |
|         canvas.height = height;
 | |
|         var ctx = canvas.getContext('2d');
 | |
|         var loadcount = 0;
 | |
|         function doload() {
 | |
|             if (++loadcount == 3) {
 | |
|                 // All images are loaded, so display them.
 | |
|                 // (Note that the images are loaded from javascript, so might load
 | |
|                 // after document.onload fires)
 | |
|                 ctx.drawImage(background, 0, 0, width, height);
 | |
|                 playWidth = play.width;
 | |
|                 playHeight = play.height;
 | |
|                 logoWidth = logo.width;
 | |
|                 logoHeight = logo.height;
 | |
|                 var ratio = 1;
 | |
|                 // If the page is smaller than it 'should' be in either dimension
 | |
|                 // we scale the play button and logo according to the dimension that
 | |
|                 // has been shrunk the most.
 | |
|                 if (width / height > defWidth / defHeight && height < defHeight) {
 | |
|                     ratio = height / defHeight;
 | |
|                 } else if (width / height < defWidth / defHeight && width < defWidth) {
 | |
|                     ratio = width / defWidth;
 | |
|                 }
 | |
|                 playWidth *= ratio;
 | |
|                 playHeight *= ratio;
 | |
|                 logoWidth *= ratio;
 | |
|                 logoHeight *= ratio;
 | |
|                 playLeft = (width - playWidth) / 2;
 | |
|                 playTop = (height - playHeight) / 2;
 | |
|                 ctx.drawImage(play, playLeft, playTop, playWidth, playHeight);
 | |
|                 ctx.globalAlpha = 0.7
 | |
|                 ctx.drawImage(logo, width - logoWidth, height - logoHeight, logoWidth, logoHeight);
 | |
|                 // To make it slightly easier to hit, the click target is twice the width/height of the unscaled play button
 | |
|                 targetLeft = width / 2 - play.width;
 | |
|                 targetRight = width / 2 + play.width;
 | |
|                 targetTop = height / 2 - play.height;
 | |
|                 targetBottom = height / 2 + play.height;
 | |
| 
 | |
|                 canvas.addEventListener("click", function(e) {
 | |
|                    var posx = e.clientX-canvas.offsetLeft;
 | |
|                    var posy = e.clientY-canvas.offsetTop;
 | |
|                    if (posx >= targetLeft && posx <= targetRight &&
 | |
|                        posy >= targetTop && posy <= targetBottom) {
 | |
|                        top.location.href = "vnd.youtube:VIDEO_ID";
 | |
|                    }
 | |
|                }, false);
 | |
|             }
 | |
|         }
 | |
|         var background = new Image();
 | |
|         background.onload = doload;
 | |
|         background.src = "http://img.youtube.com/vi/VIDEO_ID/0.jpg";
 | |
|         play = new Image();
 | |
|         play.onload = doload;
 | |
|         play.src = "play.png";
 | |
|         logo = new Image();
 | |
|         logo.onload = doload;
 | |
|         logo.src = "youtube.png";
 | |
|     }
 | |
|     window.onload = setup;
 | |
|   </script>
 | |
|     <div id="main">
 | |
|     <canvas id="canvas"></canvas>
 | |
|     </div>
 | |
|   </body>
 | |
| </html>
 | 
