Search code examples
google-chromefancyboxquicktime

How do you force quicktime fullscreen in chrome


I have a kiosk that I'm preparing for a conference that uses a 27 inch iMac, OSX Lion. The browser is Chrome. I'm using a lightbox to display quicktime videos. The Lightbox I"m using is fancybox.

When a video appears in the lightbox, I've programmed the lightbox to be "full screen", which is the size of the monitor. But the QUICKTIME content is not fullscreen, it's just a window inside of a very large white lightbox.

When I right click the video, there is a FULLSCREEN option that gives me exactly what I want: the QuickTime content goes full screen, filling up the entire 27 inch Mac screen and it looks beautiful.

What I need is for the video to open fullscreen automatically without having to right click it, since this is for a conference and the users can't keep right clicking videos to make them work right.

Here is my code:

<div id="videocontainerone" style="display:none; position:relative; top:0px;">
<object width="2560" height="1240">
<param name="movie" 
fullscreen="full"
quitwhendone="true"
value="videos/one.mov">
</param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always">       </param>
<embed 
src="videos/one.mov" 
fullscreen="full"
quitwhendone="true"
allowscriptaccess="always" allowfullscreen="true" width="2560" height="1240">
</embed>
</object>
</div>

The lightbox is opened by js, but my hunch is that what I need is actually tweaking the quicktime settings and/or embed options. But the js to open the video is simple: in a document.ready I just do :

$(".fancybox").fancybox({
   frameWidth: 2560, 
   frameHeight: 1240,
   overlayShow: true,
   overlayOpacity: 0.7 
});

Any help would be appreciated ! Thank you in advance.

EDIT: I have tried to create an .htaccess file and a .qtl file , as instructed in this 2006 article: http://www.kenvillines.com/archives/82.html and it DOES pull up the movie but still no automatic fullscreen. Anyone who answers this will get a beer !
Thanks.


Solution

  • So I found the answer. In a nutshell:

    Works by putting target videos in display:none divs and using an href to link to #videoone , #videotwo, etc for the various videos, and doing that with the fancybox plugin.

    I changed the video format to HTML5 since its running inside of a kiosk.

    For the fullscreen effect, I'm using element.webkitRequestFullScreen(); on the html5 video element itself, which still uses the fancybox but puts it fullscreen ( and I mean the VIDEO ITSELF is fullscreen, which is what I wanted ).

    I'm posting the code of the entire page here : ( I hope I get the indentation right , I usually don't post THIS much code, but it's useful. ) .... Hopefully this will help someone.

    <!doctype html>
    <html>
    <head>
    <link rel=stylesheet href="style.css" type="text/css" media=screen>
    
        <!-- Add jQuery library -->
    <script type="text/javascript" src="javascript/jquery.min.js"></script>
    
    <!-- Add mousewheel plugin (this is optional) -->
    <script type="text/javascript" src="fancybox/lib/jquery.mousewheel-3.0.6.pack.js">      </script>
    
    <!-- Add fancyBox -->
    <link rel="stylesheet" href="fancybox/source/jquery.fancybox.css?v=2.1.1" type="text/css" media="screen" />
    <script type="text/javascript" src="fancybox/source/jquery.fancybox.pack.js?v=2.1.1"></script>
    
    <!-- Optionally add helpers - button, thumbnail and/or media -->
    <link rel="stylesheet" href="fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.4" type="text/css" media="screen" />
    <script type="text/javascript" src="fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.4"></script>
    <script type="text/javascript" src="fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.4"></script>
    
    <link rel="stylesheet" href="fancybox/source/helpers/jquery.fancybox-thumbs.css?v=1.0.7" type="text/css" media="screen" />
    <script type="text/javascript" src="fancybox/source/helpers/jquery.fancybox-thumbs.js?v=1.0.7"></script>
    
    <script type="text/javascript">
          function goFullscreen(id) {
            // Get the element that we want to take into fullscreen mode
            var element = document.getElementById(id);
            console.log(element);
    
            if (element.mozRequestFullScreen) {
              // This is how to go into fullscren mode in Firefox
              // Note the "moz" prefix, which is short for Mozilla.
              element.mozRequestFullScreen();
            } else if (element.webkitRequestFullScreen) {
    
              // This is how to go into fullscreen mode in Chrome and Safari
              // Both of those browsers are based on the Webkit project, hence the same prefix.
              element.webkitRequestFullScreen();
           }
           // Hooray, now we're in fullscreen mode!
          }
    </script>
    </head>
    
    
    <body>
    <script type="text/javascript">
    
    
    
    
    
        $(document).ready(function() {
             var videotimer
    
            $(".fancybox").fancybox({
              frameWidth: 2560, 
              frameHeight: 1240,
              overlayShow: true,
              overlayOpacity: 0.7
    
            });
    
    
            $(document).keypress(function(event){
    
            var keycode = (event.keyCode ? event.keyCode : event.which);
            console.log("key pressed is "+keycode);
            if(keycode == '13'){
                closeWindow();  
            }
    
            });
    
    
            $("a.fancybox").click(function() {
    
                    //get the name of the video from the parent div
                    videoname =  $(this).parents("div:first").attr("id");
                    link = '"videos/'+videoname+'.mov'+'"'
    
                    tag =  $(this).attr("href");
    
                    videotimer=setTimeout(function() { closeWindow(); },$(this).attr("id"));
                    videotimer=setTimeout(function() { playVideo(tag); },3);
            });
    
    
            $(".fancybox-close").live("click", function(){ 
    
                console.log(videotimer) ;
                clearTimeout(videotimer);
                });  
    
        });//end document.ready
    
    
       function closeWindow(){
                console.log("video closed");
                document.webkitCancelFullScreen();
                parent.$.fancybox.close();
                clearTimeout(videotimer);
    
       }
    
        function playVideo(tag){
                console.log ("tag is "+tag);
                $(tag).find('video').get(0).currentTime=0;
                $(tag).find('video').get(0).play(); 
    
       }
    
    
    
    </script>
    
    
    <!--div id="top_bar"></div--> 
    <div id="container">
    
        <div id="top_bg">
            <div id="header">
                <img  src="images/logo.png" alt="logo" />
                <br />
                <br />
                <span class="gotham"> 6 Reasons  </span>
                <span class="gothamthin">we rock <sup>TM</sup>.
                </span>
    
                <!--a class="fancybox" rel="group" href="images/one.jpg">    <img width="25" height="25" src="images/logo.png" alt="" /></a-->
    
            </div>
    
            <div id="reasons_container">
                <div class="sub_row">
                    <div id="play_all">
                        <a id="994000" class="highlight fancybox" 
                        href="#videocontainerall"
                        onclick="goFullscreen('vidall')">play all</a>
                    </div>
    
                </div>
                <div class="reasons_row">
    
    
                    <div id="one" class="home_box featured_box"> 
    
                        <a id="9000" class="fancybox rollover_one rollover" rel="group" href="#videocontainerone" onclick="goFullscreen('vidone')"> 
                             <span class="reasontext reasontext1">REASON 1</span>
                             <span class="reasontext reasontext2">etc</span>
                             <span class="reasontext reasontext3">etc</span>
                             <span class="reasontext reasontext4">PLAY</span>
                        </a> 
                    </div>
    
    
                    <div id ="two" class="home_box featured_box"> 
                        <a id="5000" class="fancybox rollover_one rollover" rel="group" href="#videocontainertwo"
                        onclick="goFullscreen('vidtwo')"> 
                             <span class="reasontext reasontext1">REASON 2</span>
                             <span class="reasontext reasontext2">etc</span>
                             <span class="reasontext reasontext3">etc</span>
                             <span class="reasontext reasontext4">PLAY</span>
    
                        </a> 
                    </div>
    
                    <div id="three" class="home_box featured_box"> 
                        <a id="5000" class="fancybox rollover_one rollover" rel="group" 
                        onclick="goFullscreen('vidthree')"
                        href="#videocontainerthree"> 
                             <span class="reasontext reasontext1">REASON 3</span>
                             <span class="reasontext reasontext2">etc</span>
                             <span class="reasontext reasontext3">etc</span>
                             <span class="reasontext reasontext4">PLAY</span>
    
                        </a> 
                    </div>
                </div><!-- end reasons row --> 
                <div class="reasons_row">
    
                    <div id="four" class="home_box featured_box"> 
                        <a id="5000" class="fancybox rollover_one rollover" rel="group" href="#videocontainerfour"
                        onclick="goFullscreen('vidfour')"> 
                             <span class="reasontext reasontext1">REASON 4</span>
                             <span class="reasontext reasontext2">etc</span>
                             <span class="reasontext reasontext3">etc</span>
                             <span class="reasontext reasontext4">PLAY</span>
    
                        </a> 
                    </div>
    
                    <div id="five" class="home_box featured_box"> 
                        <a id="5000" class="fancybox rollover_one rollover" rel="group" href="#videocontainerfive"
                        onclick="goFullscreen('vidfive')"> 
                             <span class="reasontext reasontext1">REASON 5</span>
                             <span class="reasontext reasontext2">etc</span>
                             <span class="reasontext reasontext3">etc</span>
                             <span class="reasontext reasontext4">PLAY</span>
    
                        </a> 
                    </div>
    
                    <div id="six" class="home_box featured_box"> 
                        <a id="5000" class="fancybox rollover_one rollover" rel="group" href="#videocontainersix"
                        onclick="goFullscreen('vidsix')">
                             <span class="reasontext reasontext1">REASON 6</span>
                             <span class="reasontext reasontext2">etc</span>
                             <span class="reasontext reasontext3">etc<sup>TM</sup></span>
                             <span class="reasontext reasontext4">PLAY</span> 
    
                        </a> 
                    </div>
                </div><!-- end reasons row --> 
    
    
    
            </div><!-- end reasons container -->
    
        </div><!-- end top bg  -->
    </div>
    <div id="footer">
        <div style="float:center; position:relative; margin:20px"> OUR PARTNERSHIPS </div> 
        <br />
        <div id="partnerships_container"> 
            <img src="images/logos.jpeg" />
        </div>
    </div><!-- end footer -->
    
    
    
    
    
    
    <!-- The Video Objects -->
                    <!-- The Video Objects -->
                    <div id="videocontainerone" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidone" class="player" >
                                    <source src="videos/one.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <div id="videocontainertwo" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidtwo" class="player" >
                                    <source src="videos/two.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <div id="videocontainerthree" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidthree" class="player" >
                                    <source src="videos/three.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <div id="videocontainerfour" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidfour" class="player" >
                                    <source src="videos/four.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <div id="videocontainerfive" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidfive" class="player" >
                                    <source src="videos/five.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <div id="videocontainersix" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidsix" class="player" >
                                    <source src="videos/six.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <div id="videocontainerall" style="width:2560px; height:1240px; display:none; position:relative; top:0px;">
                         <div style="width:2560px; height:1240px; background:#fff">
                                 <video width="2560" height="1240" id="vidall" class="player" >
                                    <source src="videos/all.mov" type="video/mp4" >
                                </video>
                        </div> 
                    </div>
    
                    <!-- END The Video Objects -->
                    <!-- END The Video Objects -->
    
    </body>
    </html>