Curtcircuit en JS que s’atura a la primera entrada: javascript, pantalla completa, curtcircuit

Tinc alguns problemes a l’intentar utilitzar el curtcircuit en una pàgina web que estic creant.

Estic tractant d’usar

document.webkitExitFullscreen() || document.mozCancelFullScreen() || document.exitFullScreen();

Però sembla aturar-se al primer intent, tot i que hagués pensat que continuaria després que el primer argument aparegui com indefinit.

Si simplement escric

document.mozCancelFullScreen()

llavors funciona bé

http://i.imgur.com/rINs1kR.png

Em preguntava si algú podria assenyalar-me el que estic fent malament aquí La captura de pantalla es pren en firefox per cert. Gràcies per avançat

Respostes

4 per a la resposta № 1

El teu codi està intentant anomenada document.webkitExitFullscreen i si retorna un valor fals, anomenada document.mozCancelFullScreen, etc.

Però si document.webkitExitFullscreen en si és undefined obtindrà un error a l’intentar cridar, i el codi deixarà d’executar en aquest punt.

Potser:

var exitFullScreen = document.webkitExitFullscreen || document.mozCancelFullScreen || document.exitFullScreen;if (exitFullScreen) {exitFullScreen.call(document); // Just `exitFullScreen();` may work as well}

O alternativament:

.some(function(name) {if (document) {document();return true;}});

… el que evita tot el “necessito call o no?”

2 per a la resposta № 2

El problema és que ja està trucant a la funció, de manera que si no existeix, obtindrà un error. Podries provar alguna cosa com:

(document.webkitExitFullscreen || document.mozCancelFullScreen || document.exitFullScreen)();

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *