アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記のようにフレームが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です。
どなたかよい方法を教えてください。よろしくお願いします。

A 回答 (5件)

function fPrint()


{
parent.main.test02.htmlのフレーム名.focus();
parent.main.test02.htmlのフレーム名.print();
}

これでやってみて。
    • good
    • 0
この回答へのお礼

できました!!
本当に親切にどうもありがとうございました。
助かりました!

お礼日時:2004/10/10 08:19

<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のバグ?)と思います。
勉強になりました。
    • good
    • 0
この回答へのお礼

本当にご親切にどうもありがとうございました!できました!!大変助かりました。ありがとうございました。

お礼日時:2004/10/10 08:21

MacのNetscapeは出来てIE及びSafariは出来ないんだけれど、下記参照


http://www.openspc2.org/reibun/JS_TipsAndTricks/ …
これソースを書き忘れてるんで、次の
http://www.openspc2.org/reibun/JS_TipsAndTricks/ …の左のフレーム
http://www.openspc2.org/reibun/JS_TipsAndTricks/ …のソースを見て。やってみて。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

function fPrint()
{
parent.main.focus();
parent.main.print();
}

ここまで書くと、main.htmlが印刷されるようになりますが、その中にあるtest02.htmlだけを印刷したいのです。初心者なもので、応用力がなくてすみません。。。どうしたらよいのでしょうか?いい方法をご存知でしたら教えてください。

お礼日時:2004/10/09 22:13

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();">
等を準備すれば印刷のプロパティが表示され、オプションタブを選択すればデフォルトで「選択されたフレームのみを印刷する」が選択されていると思います。
(的をはずしていたらごめんなさい)

フレーム構成も勝手に想像して作ったので違いがあるかもしれませんが
順に名前を指定していけば同じ動きが出来ると思います。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。どうしてもbottom.htmlの印刷となってしまい、test02.htmlは指定できませんでした。(;_:)

お礼日時:2004/10/09 21:20

<form>


<input type="button" name="print" value="印刷ボタン" onclick="window.フレーム名.print()">
</form>
でいいと思います。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。やってみたのですが、どうしてもエラーが出てしまいます。
<input type="button" name="print" value="印刷ボタン" onclick="window.parent.main.test02.print()">
としてみたら、エラーは出なくなりましたが、bottom.htmlしか印刷されませんでした。

お礼日時:2004/10/09 21:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!