javascript - only - Comprobando si el navegador está en pantalla completa
javascript modal dialog (6)
En Firefox 3, window.fullScreen funciona ( https://developer.mozilla.org/en/DOM/window.fullScreen ).
Entonces, podrías hacer algo como esto:
if((window.fullScreen) ||
(window.innerWidth == screen.width && window.innerHeight == screen.height)) {
} else {
}
Posible duplicado:
Detectando si un navegador está en modo de pantalla completa
¿Hay alguna manera de verificar si un navegador se encuentra actualmente en modo de pantalla completa (después de que el usuario presionó f11)?
Algo como:
if (window.fullscreen) {
// it''s fullscreen!
}
else {
// not fs!
}
Gracias.
La respuesta de Steerpike es bastante buena, pero mi comentario:
Muchas gracias, pero esta respuesta no es suficiente para FF. En Chrome puedo establecer una pequeña tolerancia, pero en FF la barra de URL y las pestañas tardan un poco en desaparecer, lo que significa que después de presionar f11, el valor de window.innerWidth detectado es demasiado pequeño.
Esto funciona para todos los navegadores nuevos:
if (!window.screenTop && !window.screenY) {
alert(''Browser is in fullscreen'');
}
Lo suficientemente simple: $(window).width()
del navegador usando $(window).width()
y $(window).height()
, y si se ajustan a un conjunto de tamaños de ventana definidos (600 x 480, 1280 x 800, etc.), entonces puedes saber que es muy probable que sea de pantalla completa. También puede establecer manejadores de eventos como la tecla fll
y otros accesos directos posibles para definir la pantalla completa del navegador.
Terminé con la siguiente solución:
function _fullscreenEnabled() {
// FF provides nice flag, maybe others will add support for this later on?
if(window[''fullScreen''] !== undefined) {
return window.fullScreen;
}
// 5px height margin, just in case (needed by e.g. IE)
var heightMargin = 5;
if($.browser.webkit && /Apple Computer/.test(navigator.vendor)) {
// Safari in full screen mode shows the navigation bar,
// which is 40px
heightMargin = 42;
}
return screen.width == window.innerWidth &&
Math.abs(screen.height - window.innerHeight) < heightMargin;
}
Lo cual funciona en todos los navegadores que me interesan (Chrome, FF, IE, Safari / Mac, Opera).
Actualización: no funciona en Opera / Mac, Opera en Mac, mientras que en modo de pantalla completa solo oculta el menú OSX ''común'', por lo tanto, la altura difiere solo en unos pocos píxeles, lo cual es demasiado peligroso para mí.
esto funciona en los principales navegadores (es decir, ff, opera, cromo)
function isFullscreen(){
if($.browser.opera){
var fs=$(''<div class="fullscreen"></div>'');
$(''body'').append(fs);
var check=fs.css(''display'')==''block'';
fs.remove();
return check;
}
var st=screen.top || screen.availTop || window.screenTop;
if(st!=window.screenY){
return false;
}
return window.fullScreen==true || screen.height-document.documentElement.clientHeight<=30;
}
css para la ópera:
.fullscreen { display: none; }
@media all and (view-mode: fullscreen){
.fullscreen { display: block; }
}
if(window.innerWidth == screen.width && window.innerHeight == screen.height) {
} else {
}
(Advertencia: el navegador Chrome puede ensuciar con las comparaciones de altura, pero las verificaciones de ancho deberían ser bastante acertadas)