2013-04-20 12 views
6

Bu konuda düzinelerce eğitici gördük, ve ileriye doğru görünüyor. Tek istediğim, HTML5 tuval öğemi tam ekrana getirmektir (tam ekranın tamamında olduğu gibi, tüm ekranı kaplayan).HTML5 kanvasını tam ekrana nasıl getirebilirim?

<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> 

İşte (kendi .js dosyasında) benim JavaScript var: Burada

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

Ben fonksiyonunu test; çağrılır ve üç ifs'ten biri (yani Firefox kullanıyorum, mozRequestFullScreen) çağrılır. Tarayıcım test ettiğim her demosunda açar, ancak kendi kodumda değil.

Eksik değişken nedir? Googled'in tam anlamıyla her bağlantıdan bahsetmeliydim, ve hala hiçbir şey. Teşekkürler.

+0

Kendi kodunuzla ilgili farklı olan nedir? Kanvasınızın farklı bir id kimliği var mı? 'If' ifadelerinden birinin girildiğinden emin misiniz? – Ian

cevap

9

Tamam, sorunu buldum. Bu işe yaramazsa:

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

... Evet 3 saat sonra:

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

Bu çalışma YAPAR.

+0

Eh, ilk * * çalışmanız gerekir, ancak önerilmiyor/tercih edilmiyor – Ian

+0

Wow. Bu ilginç. javascript: function() işlevi, işlevi nasıl tanımladığınıza bağlı olarak farklı şekilde çalışır: http://jsfiddle.net/WntTv/ –

+0

Eğer bir işlev işlevi() {} 'olarak tanımlanırsa, bir ReferenceError alırsınız. Ama eğer bir şey olarak tanımlanırsa = function() {} 'href işleyicisi bunu görebilir. –