Skip to content

Instantly share code, notes, and snippets.

@aklaswad
Created November 20, 2012 09:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aklaswad/4117045 to your computer and use it in GitHub Desktop.
Save aklaswad/4117045 to your computer and use it in GitHub Desktop.
fullscreen api wrapper draft
(function ($) {
var venderApis = {
'fullscreenEnabled': {
request: 'requestFullscreen'
, exit: 'exitFullscreen'
, element: 'fullscreenElement'
}
, 'mozFullScreenEnabled': {
request: 'mozRequestFullScreen'
, exit: 'mozCancelFullScreen'
, element: 'mozFullScreenElement'
}
, 'webkitFullscreenEnabled': {
request: 'webkitRequestFullscreen'
, exit: 'webkitExitFullscreen'
, element: 'webkitFullscreenElement'
}
};
var venderApi;
for ( var propname in venderApis ) {
if ( document[propname] ) {
$.fullscreenEnabled = true;
venderApi = venderApis[propname];
break;
}
}
if ( $.fullscreenEnabled ) {
var request = venderApi.request;
$.fn.requestFullscreen = function () {
$(this).get(0)[request]();
return this;
};
$.exitFullscreen = function () {
document[ venderApi.exit ]();
}
$.fullscreenElement = function () {
var elem = document[ venderApi.element ];
return $( elem );
}
$.extend( $.expr[':'], {
fullscreen: function(element) {
return document[ venderApi.element ] && element === document[ venderApi.element ];
}
});
}
else {
$.fn.requestFullscreen = $.exitFullscreen = function () {
console.info("Fullscreen API isn't supported");
}
$.extend( $.expr[':'], {
fullscreen: function() { return false }
});
}
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment