- ベストアンサー
<OBJECT>に入れたテキストが表示されない
こんにちは。 HTMLファイルを作成しているのですが、 <OBJECT>~</OBJECT>に埋め込んだテキストファイルが 表示されません。 フレーム【左|右】を使用していて、左にあるリンクをクリックすると、 右に abc.html が表示されてその中にxyz.txtを<OBJECT>タグで 埋め込んでいるという設定です。 ところが、何度クリックしても右側にはフォームの様な物が 表示されるだけで文面が表示されないのです。 (ただ、ソースからは文面が確認できます。) ちなみに、左のリンクを「新しいウィンドウで開く」で開くと、 一瞬abc.htmlが開くのですがすぐxyz.txtにリダイレクト(?)されてしまいます。 なぜ文面が表示されないのでしょう? どなたかご教示願います。 情報が不足していればご指摘ください。 よろしくお願いいたします。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
実験してみましたが重さについてに制限はないように思います。 約6Mbのtxtで読込みしてみました。 時間はかかりましたが、表示はされました。 ドメインの違う(別サーバーにある)txtの読込みもやってみましたが こちらも問題なく表示されました。 ということで理由はわかりません。 ソースでは内容が表示させるとうことは、 ファイルへのアクセスは成功してる訳ですから あとはブラウザの解釈と表示の問題ですよね。 内容がテキストでも拡張子が.txtでなく、別のもの(log、ini)などはうまく解釈しないようです。 あとは失礼ですが、もういちどソースの記述をよく 確認してみてみたら如何でしょうか。
その他の回答 (7)
- seaw
- ベストアンサー率43% (10/23)
No.7に追記ですが、<object>の"type"属性は、"text/html"にしてください。
- seaw
- ベストアンサー率43% (10/23)
phpファイルの内容を、 <?php require("読み込みたいテキストファイルのパス"); ?> という内容から、以下のように書き換えてみてはいかがでしょうか? しかし、以下のサンプルソースは、スタイルoffの場合は改行されないという欠陥があります。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta name="robots" content="NOINDEX, NOFOLLOW"> <style type="text/css"> body { background-color: #ffffff; color: #000000; margin: 0; padding: 0; width: 100%; } div.main { margin: 0; padding: 0; width: 100%; white-space: pre; font-size: 0.9em; } </style> <title>text</title> </head> <body> <div class="main"><?php require("読み込みたいテキストファイルのパス"); ?></div> </body> </html>
- seaw
- ベストアンサー率43% (10/23)
No.5の一部を修正します。 誤 <?php require("phpファイルのパス"); ?> 正 <?php require("読み込みたいテキストファイルのパス"); ?>
お礼
おぉ! 表示されました! でも…改行されていないし、txtを直接読み込んだ時に比べて 文字が大きくなっちゃいますね。 改行コードがどうとかってやつですか? (phpのことは全くわからないのですが)
- seaw
- ベストアンサー率43% (10/23)
正常に動作しないのは、Internet Explorerだけですか? それとも、Firefox、Opera等のブラウザでは動作しますか? <object>は、Internet Explorerには完全対応していません。 <object>で、フラッシュを貼り付けた場合、Firefox、Operaでは動作しますが、Internet Explorerでは動作しません。 HTMLファイルを<object>で貼り付けた場合、Firefox、Operaでは問題なく動作しますが、Internet Explorerの場合、同じドメインの場合は動作しますが、違うドメインの場合は動作しません。 Internet Explorerが<object>に完全対応するまで、インラインフレームで対処するしか無いと思います。 それでも<object>で読み込みたい場合は、同ドメインに、以下のように記述したphpファイルを設置し、 そのphpファイルを<object>要素で読み込んでください。 <?php require("phpファイルのパス"); ?>
- arenani_sorenani
- ベストアンサー率73% (58/79)
<OBJECT DATA="./txt/xyz.txt"TYPE="text/plain" WIDTH="100%" HEIGHT="95%"></OBJECT> 今、気がついたんですが ="./txt/xyz.txt" って変ですよね ="../txt/xyz.txt" か ="/txt/xyz.txt" または ="txt/xyz.txt" だと思うんですが・・
お礼
"./"って使いませんか? "カレントディレクトリ"って事なんですが。 Documentroot ├ abc.html └ txt ─ xyz.txt まぁ"./txt/"も"txt/"も同じことなんですけどね。 "txt/xyz.txt"でも試しましたがだめでしたね。 うーん、わからない。。。 いろいろとご提案ありがとうございます。
- arenani_sorenani
- ベストアンサー率73% (58/79)
<OBJECT DATA="./txt/xyz.txt"TYPE="text/plain" WIDTH="100%" HEIGHT="95%"></OBJECT> 上記のDATA="./txt/xyz.txt"TYPE="text/plain" DATA=""とTYPE=""の間のスペースが抜けてます。 これだとTYPEを認識していないと思いますので それが原因かな・・。
お礼
スペース抜けてましたね。 直しました。 でも... だめでした... なぜなんでしょう...? もうちょっと試行錯誤してみます。
- arenani_sorenani
- ベストアンサー率73% (58/79)
MIMEタイプはちゃんと記述してますか? <object DATA="xyz.txt" TYPE="text/plain" WIDTH="500" HEIGHT="500"></object> 上記のように、テキストの場合は「text/plain」となります。 私の環境では上記タグで表示できました。
お礼
ご回答ありがとうございます。 MIMEタイプはちゃんと入れてるんです。 あと、上には書いてませんが 同じ構成のページをいくつか作っているのですが、 ほかのページではうまく表示されるんです。 ソースは全て コピペ→必要な部分を書き換え って感じで作成しました。 タグ打ちに関してはミスは無いはずです。 埋め込みファイルってサイズ(容量)制限ってあるんですかね?
補足
ソースはこんな感じです。 --ここから-------------------------- <HTML> <HEAD> <TITLE>THIS PAGE'S TITLE</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000FF" ALINK="#0000FF" SCROLL="no"> <OBJECT DATA="./txt/xyz.txt"TYPE="text/plain" WIDTH="100%" HEIGHT="95%"></OBJECT> <A HREF="lmn.html">←LMN</A> <A HREF="opq.html">OPQ→</A> </BODY> </HTML> --ここまで--------------------------