2013-04-20 25 views
6

Ich habe Dutzende von Tutorials zu diesem Thema gesehen, und es scheint einfach zu sein. Alles, was ich möchte, ist, dass mein HTML5-Canvas-Element den ganzen Bildschirm einnimmt (wie im Vollbildmodus und den ganzen Bildschirm einnimmt).Wie kann ich den HTML5-Bildschirm im Vollbildmodus anzeigen lassen?

Hier ist mein HTML:

<p><canvas id="screen" width="800" height="500" 
    style="background: #FFFFFF; border: 5px solid black;" role="img"> 
     Your browser does not support the canvas element. 
</canvas></p> 

<p><a href="javascript:goFullScreen();">Go Fullscreen</a></p> 

Hier ist mein Javascript (in seiner eigenen JS-Datei):

function goFullScreen(){ 
    var canvas = document.getElementById("screen"); 
    if(canvas.requestFullScreen) 
     canvas.requestFullScreen(); 
    else if(canvas.webkitRequestFullScreen) 
     canvas.webkitRequestFullScreen(); 
    else if(canvas.mozRequestFullScreen) 
     canvas.mozRequestFullScreen(); 
} 

ich die Funktion getestet; es wird aufgerufen und einer der drei ifs (nämlich, seit ich Firefox verwende, mozRequestFullScreen) wird aufgerufen. Mein Browser öffnet es auf jeder Demo, die ich getestet habe, aber nicht in meinem eigenen Code.

Was ist die fehlende Variable? Ich muss buchstäblich jede Verbindung gegoogelt haben, die das erwähnt, und immer noch nichts. Vielen Dank.

+0

Nun, was ist anders an Ihrem eigenen Code? Hat Ihre Leinwand eine andere ID? Sind Sie sicher, dass eine der if-Anweisungen eingegeben wird? – Ian

Antwort

9

Okay, ich habe das Problem gefunden. Dies funktioniert nicht:

<p><a href="javascript:goFullScreen();">Go Fullscreen</a></p> 

Das funktioniert:

<p><button onclick="goFullScreen();">Go Fullscreen</button></p> 

Ja ... 3 Stunden später.

+0

Nun Ihre erste * sollte * funktionieren, aber nicht empfohlen/bevorzugt – Ian

+0

Wow. Das ist interessant. 'javascript: something()' funktioniert abhängig davon, wie Sie die Funktion definieren: http://jsfiddle.net/WntTv/ –

+0

Wenn es als 'function something() {}' definiert ist, erhalten Sie einen ReferenceError. Aber wenn es als 'something = function() {} definiert ist, kann der href-Handler es sehen. –

Verwandte Themen