しかし、なぜかインデックスファイルが真っ白に表示されてしまいます。
HTMLは以下の通りです。改善法を教えてください。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML LANG="ja">
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<TITLE>△○</TITLE>
</HEAD>
<FRAMESET FRAMEBORDER="no" COLS="20%,80%">
<FRAME SRC="menu.htm" NAME="left" SCROLLING="no" FRAMEBORDER="no">
<FRAME SRC="main.htm" NAME="right" FRAMEBORDER="no">
</FRAMESET>
</HTML>
main.htmとmenu.htmはちゃんとアップロードされているのでここに問題があると思うのですが…
最初の一文を
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
とされてみては如何でしょうか?
(<>は半角に直してください)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html lang="ja"> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>過去ログ</title> </head> <frameset cols="20%,80%" title="AAA"> <frame src="menu.html" name="left" SCROLLING="no" title="メニュー"> <frame src="main.html" name="right" title="メイン"> <noframes> <body> このページはフレーム対応のブラウザでご覧下さい。<a href="main2.html">フレーム未対応のかたのページ</a> </body> </noframes> </frameset> </html>
では如何でしょうか?
http://openlab.ring.gr.jp/k16/htmllint/htmllinte.html
でチェックしたところ、
FRAMEBORDERという属性でエラーが出るようです。
それを外してみては如何でしょうか?
インデックスファイルもアップロードされているか念のため確認してみてください。
ありがとうございます。メールまで頂いて本当に感謝です。しかし結果的には4番の回答者の方のエンコードが一番の問題でした。
id:MMatsuoさんの質問にあるHTML文書を使い、ローカル環境で試してみましたがFirefox2とIE7で問題なく表示されました。
もしかするとフレームタグのsrc属性に書かれているURIがファイルと一致していないのではないでしょうか。
例えばmenu.htmはどこかのディレクトリに入っていはいなか。
あるいはmenu.htmlというファイル名になってはいないか。
そのあたりに問題があるのではないかと思います。
参考になれば幸いです。
ありがとうございます。その辺は問題ありませんでした。
エンコードがサーバー側の仕様と違うのに一票
右クリック>エンコード>日本語自動選択
エンコードを色々変えて試してみてください。
ばっちりでした!ありがとうございます。
しかし、これは具体的にどうしたらいちいち見る側がエンコードを変更せずに見ることができるのでしょうか?
教えてください。
「インデックスファイルが真っ白に」というご質問から推定しますが、ご質問になられたファイルが(恐らくindex.html)読み込めていない可能性が考えられます。
1.ホームページアドレスが aaa.com/index.html と定義しているのにindex.htm しか存在しない可能性
index.htmとindex.htmlのいずれかしかデータが存在しない場合、原則として存在するファイルを読み込みしますが、レンタルサーバの仕様などによってはindex.html(というより拡張子がhtmlとなっていないと)でないと受け付けない可能性があります。
2.index.htm とindex.hmtlの両方が存在していて修正しているのはindex.htmのほうだけ
拡張子が「htm」と「html」が混在している可能性。
これは私も初心者の時に躓いたのでローカルファイル(あなたのパソコンの中に入っているホームページのデータが入っているフォルダの中)をチェックしてみてください。
修正したのが index.htm で、ウエブで参照しているのは index.html となっている場合。
転送先に index.htm と index.html が両方とも存在している場合、レンタルサーバの仕様で index.html を参照している可能性があります。
「htm」「html」の拡張子混在問題は結構厄介ですが、ホームページ作成ソフトのマニュアルを読めば「拡張子をhtmlにする」やり方が掲載されている筈。それに従って既存のファイル名を全て「html」という拡張子にしてアップロードしてください(当然ですが画像データの拡張子はjpgやgifの儘で構いませんし、ソフトウエアでhtmをhtmlに修正しても画像の拡張子は修正されません)
FFFTPのようなソフトウエアでレンタルサーバ上に混在する異なる拡張子を持つデータを削除する等の作業もしておけばスッキリするところですが、あまり気にしなくてもよいでしょう。
3.ファイル名の何処かが全角になってしまっている
menu.htmのようにファイル名を全角で指定している場合、ウエブブラウザによっては上手く読み込みする事が出来ません。半角に修正しましょう。
恐らく上記の三つのうちいずれかだと思います。
多分2番だと思います。頑張ってください。
ありがとうございます。しかし、今回はどれも該当しませんでした。
main.htmとmenu.htmが無くても、画面表示は真っ白にはなりません。
ファイル自体が無ければ「404」エラーが返ってきて、何らかのエラー画面が表示されるはずです。
cgi等のスクリプトを使用されていませんか?また、サーバー設定「.htaccess」ファイル等で、「htm」ファイルを表示させない設定になっていないでしょうか?
ありがとうございます。
</HEAD>の後に<body>を挿入し、</html>の前に</body>を挿入します。そして、</FRAMESET>のあとに、<h1>てすと</h1>を挿入しますと、とりあえず「てすと」と表示されるはずです。それがうまくいきましたら、<ul?<li>~</li></ul>の書式で、何か挿入してみてください。
ありがとうございます。
main.htmとmenu.htmはちゃんとアップロードされているので
それぞれ単体でアクセスしてちゃんと中身は表示されましたか?
<FRAME SRC="menu.htm" NAME="left" SCROLLING="no" FRAMEBORDER="no"> <FRAME SRC="main.htm" NAME="right" FRAMEBORDER="no">
このソースからすると、全てのファイルが同じ場所にあるということになりますが、上記2つのファイルは、このファイルと同じ場所にアップロードしましたか?
それから、
FRAMEBORDER属性に入力できる値は「1」か「0」だけです。
つまり、境界線をなくしたいなら
FRAMEBORDER="0"
となります。
また、FRAMESET要素にはFRAMEBORDER属性などありません。
以下のページがお手本です。
本文中のサンプルコードをまずは丸ごとコピペしてみてはいかがでしょうか。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/present/frames...
ありがとうございます。
ありがとうございます。
でもうまくいきませんでした…