- ベストアンサー
JavaScriptでHTMLを表示させる方法
cgiのチャットを使用しております。 古いチャットのため、フレーム対応となっています。 <frameset cols="83%,*"> <frame src="./form.htm" name="chat_form" marginwidth="10" marginheight="10" scrolling="auto"> <frame src="./rom.htm" name="chat_rom" marginwidth="10" marginheight="10" scrolling="auto"> </frameset> <frame src="./chat.htm" name="chat_main" marginwidth="10" marginheight="10" scrolling="auto"> <noframes> <BODY bgcolor="#FFFFFF" text="#666666"> <CENTER> <H2>このチャットはフレーム対応のブラウザでご利用ください</H2> </CENTER> </BODY> </noframes> </frameset> </html> これをフレームを無くすようにしたいのですが、CGIプログラムのため、修正は難しいのです。 JavaScriptでどのように表示できるのでしょうか?document.writeとか…調べても分からなかったのでした。 例 <div> <script type="text/javascript"> ???("○○.html"); </script> </div> 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フレームを使わないということでしょうか? 1)送信後や一定時間ごとに画面を全部書き直す。 この場合、送信側(cgiか?)で全画面を送信する必要があります。 2)iframeを用いて同じ構成のものを作る。 ほとんど同じ要領でできるので手軽と言えますが、frameは使わなくて もiframeを使用することになります。 3)Ajaxで必要部分のソースを読み込んで表示する。 一番ご希望にそった形とは思いますが、ある程度の知識が必要にな ります。 Ajax用のライブラリなどがいろいろ出されていますので、 それらを利用するのがよいかも。 ところで、ご質問文のHTMLもどこかおかしくないですか? <framset>タグの対応が変だし、このままだと「chat.htm」が表示されないみたいですけど??
その他の回答 (1)
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
フレームを外すだけならtop.location.href="○○.html"で行けますが、 何のためにフレームをはずすのか、どんなタイミングで外すのかによっては、HTMLで実現した方が良いと思います。 > CGIプログラムのため、修正は難しいのです。 また、JavaScriptを埋め込むためにはCGIスクリプトの修正が必要ですが、その点は大丈夫ですか?
お礼
javascriptではこんな風に記述するんですね。 勉強になりました。 どうもありがとうございました。
お礼
iframeってのがありましたね。 Javascriptにこだわっていたため、気づかなかったのでした。 簡単に済みそうです。 どうもありがとうございました。