JavaScriptでのdocument.writeを使った表示
[上に]
[前に]
[次に]
peymon
1998/02/22(日) 21:40:42
こんばんは、いつもお世話になっています。
JavaScriptのdocument.writeの中にhtmlのタグを使う場合、
例えば
document.write("これは絵です→<IMG SRC='...'>かっこいい");
とすると、「かっこいい」の部分が表示されなかったり、また
ホームページの1番最後の端に表示されるなんてことありませんか?
どうして起こるのか、また、これを防ぐ方法をご存知の方、
解答、お待ちしております!
hiro-kim
1998/02/24(火) 12:21:27
document.write()で生成されるHTML文字列が,<body></body>で挟まれた中に書かれていなかったときに,そういう現象に出会った覚えがあります。
peymon
1998/02/25(水) 15:27:50
ありがとうございます、hiro-kimさん。
私の場合、この現象は、
<SCRIPT>タグを2個以上使い、
その間にテキストなど(かなり書き込んでいる)がある場合に
よく起こります。
私のホームページは、
<html>
<head>
<SCRIPT language="JavaScript">
//ここにいろいろたくさん書く
</SCRIPT>
</head>
<body>
<h1>ホームページの題</h1>
なんたらかんたら
たくさん書いています
<SCRIPT>
//ここに時間ごとに表示が変わるプログラムを置いている
document.write("絵だよ<IMG SRC='...'>やっほー");
........
//とにかくたくさん書いている
</SCRIPT>
ここにも多く書いてます
</body>
</html>
・・・と、まあこんな風に実際使っている訳です。
何かおかしいでしょうか?
まさお
[E-Mail]
[HomePage]
1998/02/26(木) 20:06:45
とりあえず
document.writeで書き込む最後の次に行に
document.close();
を加えてみてください。
たぶんこれでOKだと思います。
documentオブジェクトの仕様で、document.writeを使ったときは
document.close();
で締めくくるのが本当の使い方なのですが、
document.write中で<br>を使用してもテキストは表示されるので
ついつい忘れてしまいますね。
peymon
1998/03/01(日) 11:18:23
[[解決]]
教えて下さり、ありがとうございます、まさおさん。
document.close();をつけてみたら直りました。
これで解決ですね。
[上に]
[前に]
[次に]