Curto em JS que pára na primeira entrada: JavaScript, tela cheia, curto-circuito

Eu tenho alguns problemas ao tentar usar o curto-circuito em uma página da Web que estou criando.

Estou tentando usar

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

mas parece parar na primeira tentativa, embora eu teria pensado que continuaria depois do Primeiro argumento aparece como indefinido.

Se eu simplesmente escrever

document.mozCancelFullScreen()

Então funciona bem

Eu queria saber se alguém poderia apontar o que estou fazendo errado aqui a captura de tela é tirada no firefox pelo caminho. Obrigado antecipadamente

respostas

4 para a resposta № 1

Seu código está tentando ligar document.webkitExitFullscreen e se ele retornar um valor falso, Chame document.mozCancelFullScreen, etc.

mas se document.webkitExitFullscreen em si é undefined Você receberá um erro ao tentar chamá-lo, e o código irá parar de funcionar nesse ponto.

talvez:

ou alternadamente:

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

… o que evita tudo “Eu preciso call ou não?”

2 Para a resposta № 2

O problema é que você já está chamando a função, portanto, se não existir, receberá um erro. Você poderia tentar algo como:

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

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *