キーを押すと画面を真っ白にする(JavaScript/jQuery)

ホーム>キーを押すと画面を真っ白にする(JavaScript/jQuery)

この情報はお役に立ちましたか?よろしければ皆様にもお知らせください。

  このエントリーをはてなブックマークに追加 mixiチェック  

[JavaScript][jQuery]

キーボードのキーを押すと、画面を真っ白にするスクリプトです。

突然人が現れたときに、画面を隠したいときに使います。

サンプルページ

document.onkeydown = function(e)
{
if($("body").attr("class")=="hidden")
{
if(e!=null)
{
keycode = e.which;
e.preventDefault();
e.stopPropagation();
}
else
{
keycode = event.keyCode;
event.returnValue = false;
event.cancelBubble = true;
}

keychar = String.fromCharCode( keycode ).toUpperCase();

if ( keycode == 32 ){
history.back();
}

}
else
{
document.write('<html><head><script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="secret.js"></script><title>無題</title></head><body class="hidden">&nbsp;</body></html>');
}
}

上のスクリプトは、キーボードのいずれかのキーが押されたら、現在表示しているタグをすべて削除し、スペースキーが押されたら、前の状態に戻します。

キーボードのキーが押されたかどうかは、「document.onkeydown=関数オブジェクト」で判定します。

単純にキーボードのどれでもいいからキーが押されたかどうかを判定するには、上記の部分だけがあればいいことになります。

キーボードのどのキーが押されたかを判定するには、keycodeに押されたキーの番号を格納して、判定させます。また、アルファベットはkeycharに格納しているので、判定するときは、keychar=='a'などとすれば、aキーが押されたかどうかを判断できます。

keycode==32は、スペースキーが押されたかどうかを判定しています。

history.back()は、1つ前のページに戻る、という意味なので、この場合だと正常に表示されていた状態に戻すことになります。

document.writeで、現在表示しているHTMLファイルの内容を書き換えます。javascriptファイルを読み込むタグ以外を消去するため、画面は真っ白になります。

document.write('<html><head><script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="secret.js"></script><title>無題</title></head><body class="hidden">&nbsp;</body></html>');
}

関連リンク

よく読まれている記事

UpDate:2011-10-24