QA@IT
«質問へ戻る

質問を投稿

IE8で、ShowModalDialogしたウインドウでのonKeyDownイベントでF12が拾えない。開発ツールが起動してしまいます。

Windows7, IE8の環境でJavaScriptの勉強をしています。

今回、onKeyDownイベントでファンクションキーの制御をしようと思っています。
しかしながら、ダイアログ表示(showModalDialog)したウインドウではF12キーを押すとどうしても開発ツールが起動してしまいます。
回避策などわかる方がいらっしゃいましたら教えていただけますか?

※ゾーンの設定で、対象となるゾーンの
「Webサイトがアドレスバーやステータスバーのないウインドウを開くのを許可する」
が「無効にする」になっていると本現象が発生します。

ソースは以下です。
------index.html


function show_Dialog()
{
window.showModalDialog("dialog.html", this, "width=640px,height=600");
}


メイン画面

-------dialog.html

function key_event()
{
// 発生したイベントのキーコードを取得
var code = event.keyCode;

//F1-F12キーであれば、無効化する(F1キー:112,... F12キー:123)
if(event.keyCode == 123)
{
    event.keyCode = null;
    event.returnValue = false;
}
//該当するキーコードで分岐。それぞれのcase内に、実行したい独自の処理を記述する。
switch(code){
    // F12キー
    case 123:
        alert('F12!');
        break;
    default:
        break;
}
return;

}


ダイアログ

Windows7, IE8の環境でJavaScriptの勉強をしています。

今回、onKeyDownイベントでファンクションキーの制御をしようと思っています。
しかしながら、ダイアログ表示(showModalDialog)したウインドウではF12キーを押すとどうしても開発ツールが起動してしまいます。
回避策などわかる方がいらっしゃいましたら教えていただけますか?

※ゾーンの設定で、対象となるゾーンの
「Webサイトがアドレスバーやステータスバーのないウインドウを開くのを許可する」
が「無効にする」になっていると本現象が発生します。

ソースは以下です。
------index.html
<html>
<script type="text/javascript">
function show_Dialog()
{
	window.showModalDialog("dialog.html", this, "width=640px,height=600");
}
</script>
<body>
<h3>メイン画面</h3>
<input type="button" value="button" onclick="show_Dialog()"/>
</body>
</html>

-------dialog.html
<html>
<script type="text/javascript" >

function key_event()
{
	// 発生したイベントのキーコードを取得
	var code = event.keyCode;
	
	//F1-F12キーであれば、無効化する(F1キー:112,... F12キー:123)
	if(event.keyCode == 123)
	{
		event.keyCode = null;
		event.returnValue = false;
	}
	//該当するキーコードで分岐。それぞれのcase内に、実行したい独自の処理を記述する。
	switch(code){
		// F12キー
		case 123:
			alert('F12!');
			break;
		default:
			break;
	}
	return;
}
</script>
<body onload="initialize()" onhelp="return false;">
<H3>ダイアログ</H3>
</body>