swaggyP
swaggyP

Reputation: 365

HTML javascript fullscreen

I am having problems trying to add fullscreen functionality to an element in my app.

I basically do something like this:

    var launchFullScreen = function (element) {
    if(element.requestFullScreen) {
        element.requestFullScreen();
    } 
    else if(element.mozRequestFullScreen) {
        element.mozRequestFullScreen();
    } 
    else if(element.webkitRequestFullScreen) {
        element.webkitRequestFullScreen();
    }
};

var cancelFullscreen = function() {

    if(document.cancelFullScreen) {
        document.cancelFullScreen();
    } 
    else if(document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
    } 
    else if(document.webkitCancelFullScreen) {
        document.webkitCancelFullScreen();
  }

};

$("#view").on("keypress", function(event){
    if(event.which == 27){
        cancelFullscreen();
    }
});

$("#view").on("click", function(event){
    console.log("view clicked");
    launchFullScreen($("#view")); 
});

I don't see what I am doing wrong. Any suggestions?

Upvotes: 1

Views: 225

Answers (2)

Danilo
Danilo

Reputation: 41

Here's a solution:

var
view = document.querySelector("#view"),
launchFullscreen = function(element){
  var domPrefixes = 'webkit moz o ms khtml'.split(' '), i = 0, prefix = null;
  while(!(prefix = previewFrame[domPrefixes[i] + 'RequestFullScreen'])){ i++; }
  prefix.apply(element);
},
cancelFullscreen = function(){
  var domPrefixes = 'webkit moz o ms khtml'.split(' '), i = 0, prefix = null;
  while(!(prefix = previewFrame[domPrefixes[i] + 'CancelFullScreen'])){ i++; }
  prefix.apply(document);
};

view.addEventListener('click', function(){
  launchFullscreen(this);
});

view.addEventListener("keypress", function(event){
  if(event.which == 27){ cancelFullscreen(); }
});

Upvotes: 0

Jeremy Gallant
Jeremy Gallant

Reputation: 774

I believe you're calling fullscreen on the jQuery wrapped element, not the element itself. Try this instead:

launchFullScreen($("#slideView").get(0));

Upvotes: 1

Related Questions