重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

IE6を使っています。
次のように[a.js]を呼び出したのですが、
オブジェクトがありませんとエラーが出ます。
そのエラーの次に[test.html]にあるalertの内容は表示されます。
どこが間違っているのでしょうか?

[a.js]
var a = document.body.clientWidth;

[test.html]
<html>
<head>
<title>test</title>
<script type="text/javascript" src="a.js"></script>
</head>
<body>
<script type="text/javascript"><!--
alert(document.body.clientWidth);
--></script>
</body> </html>

A 回答 (1件)

ヘッダ領域で読みこんでるので、bodyがまだ宣言されていませんからね。


やるならbodyの中もしくは後でやるか、以下のようにロード後に
呼び出してください。

<html>
<head>
<title>test</title>
</head>
<body>
<script type="text/javascript" src="a.js"></script>
</body>
</html>

//a.js
window.onload=function(){
a = document.body.clientWidth;
alert(a)
}
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
あまり意識して見てなかったので気づかなかったのですが
たしかにbodyって書いてますね・・・
この場所だけエラーがでるので何なのかと思っていたら、そういうことでしたか。

お礼日時:2007/09/04 04:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!