- ベストアンサー
フレームが入れ子状態です。ファイルを指定して印刷したいのですが
下記のようにフレームが3つに分かれており、さらにmain.htmlは2つのフレームにわかれています。 bottom.htmlに印刷ボタンを配置し、クリックすると、test02.htmlのみを印刷できるようなプロパティ画面を起動したいのです。 index.html top.html main.html test01.html test02.html bottom.html 環境はWin IE5.5以上 使用言語は、HTML、CSS、Javascriptです。 どなたかよい方法を教えてください。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
function fPrint() { parent.main.test02.htmlのフレーム名.focus(); parent.main.test02.htmlのフレーム名.print(); } これでやってみて。
その他の回答 (4)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
<script type="text/javascript"> <!-- function framePrint(){ parent.main.test02.focus(); parent.main.test02.print(); } //--> </script> <form> <input type="button" name="print" value="test02印刷" onclick="framePrint()"> </form> #1で、ちゃんと動作確認してなくてすみません。 ずっとメールが届いてなくて、ちゃんと動作しないことに気付いていませんでした。 parent.main.test02.location.hrefなどで、test02.htmlがとりだせるので、動くと思っていました。 一度フォーカスが必要とは思いませんでした。 でも、これって、本当はそういう動作(フォーカスが必要なの)はおかしい(IEのバグ?)と思います。 勉強になりました。
お礼
本当にご親切にどうもありがとうございました!できました!!大変助かりました。ありがとうございました。
- N_A_O
- ベストアンサー率66% (37/56)
MacのNetscapeは出来てIE及びSafariは出来ないんだけれど、下記参照 http://www.openspc2.org/reibun/JS_TipsAndTricks/window/010/index.htm これソースを書き忘れてるんで、次の http://www.openspc2.org/reibun/JS_TipsAndTricks/window/010/code.htmlの左のフレーム http://www.openspc2.org/reibun/JS_TipsAndTricks/window/010/left.htmlのソースを見て。やってみて。
お礼
返信ありがとうございます。 function fPrint() { parent.main.focus(); parent.main.print(); } ここまで書くと、main.htmlが印刷されるようになりますが、その中にあるtest02.htmlだけを印刷したいのです。初心者なもので、応用力がなくてすみません。。。どうしたらよいのでしょうか?いい方法をご存知でしたら教えてください。
- LancerVII
- ベストアンサー率51% (1060/2054)
index.html top.html----------------------frmTop main.html---------------------frmMain test01.html---------------frm1 test02.html---------------frm2 bottom.html-------------------frmBottom と各フレーム枠に名前をつけたとして test02.html内のScriptに function execPagePrint () { window.print (); } という関数を用意し、 bottom.html内のScriptに function execPrint () { // 一番上から順に中に入っていく // frmMainというフレーム枠に // frm2というフレーム枠があり // そのフレーム枠内部のScriptにある(test02.htmlの中) // execPagePrint()メソッドを呼び出す top.frmMain.frm2.execPagePrint(); } と、execPrint()を呼び出すボタン <input type="button" value="印刷" onClick="execPrint();"> 等を準備すれば印刷のプロパティが表示され、オプションタブを選択すればデフォルトで「選択されたフレームのみを印刷する」が選択されていると思います。 (的をはずしていたらごめんなさい) フレーム構成も勝手に想像して作ったので違いがあるかもしれませんが 順に名前を指定していけば同じ動きが出来ると思います。
お礼
返信ありがとうございます。どうしてもbottom.htmlの印刷となってしまい、test02.htmlは指定できませんでした。(;_:)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
<form> <input type="button" name="print" value="印刷ボタン" onclick="window.フレーム名.print()"> </form> でいいと思います。
お礼
返信ありがとうございます。やってみたのですが、どうしてもエラーが出てしまいます。 <input type="button" name="print" value="印刷ボタン" onclick="window.parent.main.test02.print()"> としてみたら、エラーは出なくなりましたが、bottom.htmlしか印刷されませんでした。
お礼
できました!! 本当に親切にどうもありがとうございました。 助かりました!