2015-09-18 8 views
5

HTML5ゲームを起動時に全画面表示にしたいと考えています。ボタンをクリックしてこれを行うと、フルスクリーンになります。しかし、window.onloadを使用してフルスクリーンのオンロードにすると、コンソールで返信します。 'element'で 'requestFullScreen'を実行できませんでした:APIはユーザージェスチャーでのみ開始できます。私はクロムを使用しています。この回避策はありますか?'Element'で 'requestFullScreen'を実行できませんでした。APIはユーザーのジェスチャーでのみ開始できます

マイコード:

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

答えて

3

どれJavaScript APIの意図的に私は推測する。この方法を作っています。あなたがウェブサイトに行って、何もせずにフルスクリーンで自動的にオンになると想像してください。あなたは迷惑なポップアップや、あなたが開くつもりでさえある他のものの世界全体にさらされるでしょう。そのようなスクリプトでは、ユーザーのやりとりが必要です。ユーザーインタラクションなしにフルスクリーンに切り替えると、悪意のある意図のように感じられます。たとえば、このようなサイトがフルスクリーンで開かれた場合:Virtual Desktop誰かがちょうど自分のデスクトップに何が起こったのか、かなり混乱するかもしれません。

あなたはまだ、次の答えを見て取り、多分その後、部分的な回避策を試してみたい場合:

Partial WorkAround

+0

をよりよく理解するために提供されたリンクには、あまりにも他の回答を見てみてください。 – hunters30

関連する問題