ここから本文です

htmlファイルからテキストファイルを呼び出す

don********さん

2010/4/115:35:23

htmlファイルからテキストファイルを呼び出す

index.htmlのファイルに以下のコードが書かれています。
ようこそ!の部分がスクロールします。
<marquee width="250" height="40" style="font-size:13px; color:#3366FF" scrollamount="1" scrolldelay="100" direction="up">ようこそ!</marquee>

ようこそ!だけでなく、もっと長い文章の入ったファイルtext.txtを上のコードで指定する事は出来ないでしょうか?
index.htmlのファイル内にtext.txtの内容を書かずに、ファイルを呼び出したいのですが。

閲覧数:
3,800
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

chi********さん

2010/4/118:18:45

marqueeタグでは外部ファイルを読み込めません。
インラインフレームを使った方法は、他の回答者さんが回答されてますので、Ajax を使った方法を。

川崎氏の JKL.ParseXML ライブラリを使ってみます。

http://www.kawa.net/

jkl-parsexml.js をダウンロードして、自サイトの jsディレクトリにアップロードしておきます。

http://www.kawa.net/works/js/jkl/parsexml.html

text.txt は、UTF-8 文字コードで保存し、HTMLファイルと同じディレクトリにアップロードしたとします。

HTMLソースは以下のようになります。

<html>
<head>
<script type="text/javascript" src="./js/jkl-parsexml.js"></script>
<script type="text/javascript">
var url = "./text.txt";
var http = new JKL.ParseXML.Text( url );
var data = http.parse();

function textwrite() {
document.getElementById("textdoc").innerHTML = data;
}
</script>
</head>
<body>
<div id="textdoc">
</div>
<script type="text/javascript">textwrite();</script>
</body>
</html>

これはあくまで例ですが、<div id="textdoc"></div> を置いたところに、text.txt の内容が表示されます。
text.txt は、中身がHTMLソースであっても構いません。

質問した人からのコメント

2010/4/1 22:41:44

降参 皆さん大変ありがとうございます。

ベストアンサー以外の回答

1〜1件/1件中

編集あり2010/4/117:07:55

現在、テキストファイルをロードすることができるタグは、IFRAMEタグしかありません。
確か、javascriptなどでも対応していなかったはずです。

で、iframeタグでの使用方法ですが、以下のようにすると、スクロールが出来ます。
<marquee width="250" height="40" style="font-size:13px; color:#3366FF" scrollamount="1" scrolldelay="100" direction="up"><iframe src="ようこそ!.txt"></iframe></marquee>

上記の場合、ようこそ!.txtファイルをロードして、上にスクロールします。また、開始タグと終了タグの間には、iframeタグが対応していないブラウザで表示する文字を記入します。つまり、
<iframe src="ランキング.txt">ご覧のブラウザでは、ランキングを表示できません</iframe>
のようにします。

ただし、iframeをそのまま使用すると、スクロールバー部分までスクロールされてしまうので、それを防ぐには、以下のようにします。
scrolling="no"
ただし、こうすると表示される部分も制限されてしまうので、ご注意ください。

そして、このままですと、背景が白に固定されてしまいます。背景を透明にするには
allowtransparency="true"
を追加します。

つまり、スクロールバーを表示せず、背景を透明にする時には、
<marquee width="250" height="40" style="font-size:13px; color:#3366FF" scrollamount="1" scrolldelay="100" direction="up"><iframe src="ようこそ!.txt" scrolling="no" allowtransparency="true"></iframe></marquee>
とすれば良いわけです。

長くなりましたが、参考になれば幸いです。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる