• ベストアンサー

最初からツールバーなしでhtmlを開くには?

今、簡単なデモCD-ROMを作ろうとしています。 htmlでつくっているので、ファイルを開くと、Directorでつくられたものなどと違ってツールバーやアドレスバーが表示されてしまいます。 window.open("opening.html","demo","width=640,height=400,left=10,top=10,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,favorites=no,resizable=yes"); といったスクリプトでサブウインドウを開く時にはボタンバーやアドレスバーの表示の有無を設定できますが、そのような形でなく、最初のhtmlファイルが開かれた時点でツールバーやアドレスバーなどが無いウインドウとして表示したいのですが、そのようなことが可能なスクリプトって無いものでしょうか? 具体的に言いますと、このCDは、オートランが有効になっているマシンに挿入するとFor_Windows.htmlというファイルが自動起動するようにAUTORUN.INFを設定してあり、要するにこのCDを挿入したら最初からツールバーやアドレスバーなどが無いウインドウとして表示したいのです。 For_Windows.htmlにさらにポップアップウインドウが自動的に全画面表示になって開くように設定すればいいかとも思ったのですが、その方法ですと本編を見終わってウインドウを閉じると下から親ウインドウが出てきてしまい、CDの内容を見ていた人はその親ウインドウまで閉じなければならなくてスマートではありません。 親ウインドウが時限式で自動的に閉じるようにしようかとも思いましたが、その場合は当然「ウインドウが閉じられようとしています」という警告が出てきてしまいますよね。これも困ります。 あくまでもhtmlでつくる前提でこの問題を解決する方法を何かご存知の方がいらっしゃいましたら教えて頂けないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ubob
  • ベストアンサー率36% (15/41)
回答No.3

HTMLでという条件の解釈が問題ですが、単純にHTAにするだけではダメなんでしょうか? 実際には作っておられるhtmlの<head>~</head>の間に <HTA:APPLICATION ID="DEMO" APPLICATIONNAME="win_demo" BORDER="none" CAPTION="no" ICON="/demo.ico" SHOWINTASKBAR="no" SINGLEINSTANCE="yes" SYSMENU="no" WINDOWSTATE="maximize"> とかいった定義を加え、ファイル名の拡張子を「.hta」にするだけです アイコンファイルを用意しておけば開いたウインドウ隅に通常のプログラムのように表示されます。

参考URL:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/hta/overview/htaoverview.asp
Stolz
質問者

お礼

ご回答、どうもありがとうございます。 要は、FLASHとかDirectorとかいったアプリを使わずに作れるものということだったのでHTAで全く問題ありません。 この方法で開いたウインドウから別のページにリンクするとリンク先のページは別ウインドウで開いてしまうので、同一ページ内で内容が変わるようにできないかと今調べているところですが、可能なのかどうかは今のところよく判りません。 でも、教えて頂いたスタイル、タスクバーやタイトルバーまでナシにできるんですね。こんな事ができるなんて知りませんでした! すごくいいです!! どうもありがとうございました。

Stolz
質問者

補足

同一ページ内で内容が変わるようにする方法、半分解りました。 HTAタグの中にNAVIGABLE ="yes"というのも加えればいいんですね。 ただ、リンクした先がフレームを有するページの場合で、たとえば左フレームのボタンをクリックすると右フレームの内容が変わるようにターゲットを設定してあるケースでは、リンク先で左フレームのボタンをクリックすると、右フレームの内容が変わるのではなく、右フレームに表示されるはずのページが新しいウインドウで開いてしまうんです。 今、この問題をどうにかしようとweb上を探し回って調べています。

その他の回答 (3)

  • ubob
  • ベストアンサー率36% (15/41)
回答No.4

iframeを使えば何とかなりそうです 以下の3つのファイルを同じディレクトリにおいて試してください sample.hta -------------------- <!DOCTYPE HTML PUBLIC "--//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <html lang="ja"> <head> <title>Sample</title> <HTA:APPLICATION ID="sample" applicationname="Demo Sample" border="thick" borderstyle="normal" CAPTION="yes" ICON="" MAXIMIZEBUTTON="yes" MINIMIZEBUTTON="yes" SHOWINTASKBAR="yes" SINGLEINSTANCE="yes" SYSMENU="yes" VERSION="0.1" WINDOWSTATE="normal"/> <body> <center> <b> M A I N &nbsp; &nbsp; M E N U </b> &nbsp; &nbsp; <a href="t1.html" target="main"> PAGE 1 </a> , <a href="t2.html" target="main"> PAGE 2 </a> </center><br> <iframe id="main" name="main" width="100%" height="1000"></iframe> </body> </html> ------------- t1.html ------------- <html>This page is 1st.</html> ------------- t2.html ------------- <html>This page is 2nd</html> -------------

Stolz
質問者

お礼

iフレーム! なるほど!! これは決定的な打開策です。 教えて頂けばなるほどと納得するんですが、思いつきませんでした。 これは頭の柔らかさの問題ですね。 何度もお手数をおかけいたしました。 どうもありがとうございました!!

  • BlueRay
  • ベストアンサー率45% (204/453)
回答No.2

HTAが駄目だったようなので、かなり自信はありませんが… ブラウザのバージョンが6と言う事なので可能かもしれません。 1.まず、以下のソースを「For_Windows.html」にコピペして下さい。 2.次に、「For_Windows.html」のショートカットを作成。 3.作成したショートカットのプロパティを開き、”実行時の大きさ”を「最小化」にして下さい。 ※ここで、親ウィンドウをタスクバーで起動しているので親画面は表示されません。 表示されないまま、子ウィンドウを開いた後に親自身を閉じるようにしています。 この時に、警告メッセージを表示しないような工夫をしています。 ただし、この処理はIE6.0以上限定となってしまいます。 以下ソース //'******************** ここから ******************** <script> <!-- //メニューバーの無い子ウィンドウを開く。 var nw=window.open("opening.html","demo","width=640,height=400,left=10,top=10,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,favorites=no,resizable=yes"); //起動している自分自身(親ウィンドウ)を閉じる。 //※IE6.0以上限定処理…閉じるときの警告を非表示。 var ow=window.open("","_top"); ow.opener=window; ow.close(); //--> </script> //'******************** ここまで ********************

Stolz
質問者

お礼

ご回答、どうもありがとうございました! HTAでも警告が出てしまうというのは、何かPCの一時的な誤動作だったようで、最初に作ったままの残してあった大元のFor_windows.htmlを削除したらHTAでダイアログなしのウインドウクローズが実現したのですが、BlueRayさんに教えて頂いた方法だとアプリケーションでなくて完全なhtml書類扱いなのでオンラインで使用したときも「次のファイルをダウンロードしています」というダイアログが表示されずに済み、より活用範囲の広い方法でいいですよね。 今回はCDで使用するので多くのブラウザで開けるHTAの方を使おうと思いますが、教えて頂いたソースは今後オンラインで何か作る時、活用させて頂く事になると思います。 この度はどうもありがとうございました!

  • rancer
  • ベストアンサー率66% (6/9)
回答No.1

HTAアプリケーション(For_Windows.hta)をAUTORUN.INFで自動起動するようにする。 For_Windows.htaの記述内容は以下のとおりです。 こんなのダメかな? ------------------------------------------------------------------- <HTML> <HEAD> </HEAD> <BODY> </BODY> <SCRIPT type="text/javascript"> window.open("opening.html","demo","width=640,height=400,left=10,top=10,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,favorites=no,resizable=yes"); window.close(); </SCRIPT> </HTML> ------------------------------------------------------------------- こうすると、ダイアログが出ずに親ウインドウが消えますよ。

Stolz
質問者

お礼

早々のご回答をどうもありがとうございました。 早速やってみたんですが、残念ながらWin98+IE6.0の環境とWinXP+IE6.0の環境ではやはり「ウインドウは表示中のWebページにより閉じられようとしています…」のダイアログが出てしまいます。 教えていただいたソース、今までに目にしていたのとちょっと記述が違ったので「これは行けそう!」と思ったのですが…。 OSとIEのバージョンの組み合わせによって違うのかもしれませんね。 Macならスマートにすり替わってくれるのですが…。 せっかくお答え頂いたのに良い結果報告ができなくて申し訳ありませんでしたが、これに懲りず、また何かの折りにはどうかよろしくお願い致します。 どうもありがとうございました。

Stolz
質問者

補足

かなり後になってから判明しましたが、教えて頂いた方法、実は有効でした! 「閉じられようとしています」とダイアログが出てしまうウインドウに表示されているURLがなぜかFor_windows.htaでなくFor_windows.htmlだったので、残したままになっていた.htmlの方が間違って開かれているのかなと思い、このFor_windows.htmlを削除した上で、念のためインターネット一時ファイルの削除もして再度実行してみました。 すると、IE4.5以外のブラウザ…つまり5.0以上ではWin/Macすべての環境でダイアログなしのウインドウすり替えを実現できることが確認できました! どうもありがとうございました!!

関連するQ&A