2015-09-18 8 views
5

Voglio rendere il mio gioco HTML5 nativo a schermo intero all'avvio. Quando lo faccio con un pulsante onclick, diventa a schermo intero. Ma quando uso window.onload per renderlo attivo a schermo intero, risponde sulla console. Impossibile eseguire "requestFullScreen" su "Element": l'API può essere avviata solo da un gesto dell'utente. Sto usando Chrome. C'è una soluzione?Impossibile eseguire "requestFullScreen" su "Element": l'API può essere avviata solo da un gesto dell'utente

Il mio codice:

<!DOCTYPE html> 
    <html> 
    <head> 
<script> 
window.onload = openfullscreen(); 

function launchIntoFullscreen(element) { 
if(element.requestFullscreen) { 
element.requestFullscreen(); 
} else if(element.mozRequestFullScreen) { 
element.mozRequestFullScreen(); 
} else if(element.webkitRequestFullscreen) { 
element.webkitRequestFullscreen(); 
} else if(element.msRequestFullscreen) { 
element.msRequestFullscreen(); 
} 
} 

function openfullscreen() { 

launchIntoFullscreen(document.documentElement); 
} 

function exitFullscreen() { 
if(document.exitFullscreen) { 
document.exitFullscreen(); 
} else if(document.mozCancelFullScreen) { 
document.mozCancelFullScreen(); 
} else if(document.webkitExitFullscreen) { 
document.webkitExitFullscreen(); 
} 
window.close(); 
} 

function fix() { 
var screenwidth = screen.width; 
var screenhei = screen.height; 
document.getElementById('ifam').width = screenwidth; 
document.getElementById('ifam').height = screenhei; 
} 
</script> 
<style> 
    #ifam { 
    position:fixed; 
    left:0%; 
    top:0%; 
    z-index:-1; 
    } 
    #fullscreen { 
    position:fixed; 
    left:0%; 
    top:0%; 
    z-index:1; 
    } 
    </style> 
    </head> 
    <body onload="fix()"> 
    <div id="fullscreen"> 
    <button onclick="openfullscreen()">Open</button> 
    <button onclick="exitFullscreen()">Exit</button> 
    </div> 
    <iframe id="ifam" src="lchosser.html"></iframe> 
    </body> 
    </html> 

risposta

3

Qualsiasi API JavaScript è intenzionalmente fatto in questo modo credo. Immagina di andare su un sito web e si attiva automaticamente a schermo intero senza che tu faccia nulla. Saresti esposto a un mondo intero di fastidiosi popup e altre cose che hai persino intenzione di aprire. Quindi qualsiasi script di questo tipo richiede che l'interazione dell'utente funzioni. Passare a schermo intero senza l'interazione dell'utente sembra quasi un intento malevolo. Esempio se un sito come questo si è aperto a schermo intero: Virtual Desktop qualcuno potrebbe essere piuttosto confuso da ciò che è appena successo sul desktop.

Se avete ancora voglia di provare una soluzione parziale forse allora date un'occhiata al seguente risposta:

Partial WorkAround

+0

Si prega di dare un'occhiata alle altre risposte anche nel link fornito per capire meglio. – hunters30

Problemi correlati