- PR -

コンテキストメニューでの印刷方法(IE)

1
投稿者投稿内容
中年プログラマ
会議室デビュー日: 2006/03/08
投稿数: 2
投稿日時: 2006-03-08 22:51
Javascriptを使っていますが、ユーザから以下の要望がありました。
「右クリックで表示されるコンテキストメニューに印刷のみができるようにしたい。」

そこで、以下のコードにより、コンテキストメニューから「印刷」ができるようにしたのですが、その印刷内容が元の画面でなく、コンテキストメニューが印刷されてしまいます。
どなたか、コンテキストメニューを表示している元の画面を印刷する方法をご存知でしたら、ご教授ください。


<<コンテキストメニューから印刷するスクリプト>>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
<TITLE>右クリックのポップアップメニュー</TITLE>
<SCRIPT LANGUAGE="JScript">
<!--
var background_out = "#C0C0C0"; //マウスが外れた時の背景色
var background_over = "#FFFFFF"; //マウスが乗った時の背景色

if(window.createPopup){
var menu_status = ""; //メニュー内容
var oPopup = window.createPopup(); //ポップアップオブジェクト作成
menu_status = '<DIV STYLE="border:1px solid black; background:' + background_out + ';">';
//メニュー内容作成
menu_status += ('<DIV ' +
'onmouseover="this.style.background=\'' + background_over + '\';" ' +
'onmouseout="this.style.background=\'' + background_out + '\';" ' +
'onClick="window.print();;" ' +
'STYLE="font-size:70%; height:26px; padding:3px; cursor:hand; border-bottom:1px outset gray; border-right:1px outset gray;">印刷</DIV>');
menu_status += '</DIV>';
document.oncontextmenu = ContextMenu; //右クリックイベント発生時
}
function ContextMenu(){
if(window.createPopup){
//ポップアップに表示する内容を設定
oPopup.document.body.innerHTML = menu_status;
//ポップアップを表示する
oPopup.show(event.clientX, event.clientY, 200, 30, document.body);
return(false);
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
こちらの本体を印刷したい。

</BODY>
</HTML>


かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-03-08 23:24
window.print();をwindow.parent.print();にしてみてはいかがでしょうか。
中年プログラマ
会議室デビュー日: 2006/03/08
投稿数: 2
投稿日時: 2006-03-08 23:37
引用:

かつのりさんの書き込み (2006-03-08 23:24) より:
window.print();をwindow.parent.print();にしてみてはいかがでしょうか。



早速、試してみました。
うまくいきました。
ありがとうございました。
基本ができていなかったようで、お恥ずかしい限りです。
もっと、じっかり勉強します。
1

スキルアップ/キャリアアップ(JOB@IT)