• ベストアンサー

外部ファイルを指定するとページ上部に空白が

bodyやcssでマージンは全てにしているのですが、javascript外部ファイルを読み込ませようとして記述を追加すると上部に空白ができてしまいます。 何が原因なのでしょうか? ↓ページのソース(都合によりファイル名は全て仮名ですすいません) <head> <title>サンプルページ</title> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <script type="text/javascript" src="http://test.com/****1.js"></script> <script type="text/javascript" src="http://test.com/****2.js"></script> <link rel="stylesheet" type="text/css" href="http://test.com/****.css"> <style type="text/css"> <!-- body { background-position: 0px 0px} --> </style> </head> <body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" bgcolor="#FFFFFF" text="#333333"> スクリプトの場所は全て絶対パスで指定しています。 また、charsetがeucなのはこのファイルがphpで記述されているためです。 ****1.jsはページで使うスクリプト全て(ポップアップやロールオーバー等)を記述、****2.jsはアクセス解析用のスクリプトを入れています。後者を追加してから空白が出てきたような気がします。 スクリプトの種類によってこういうことが起きるのでしょうか? ご回答お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Spur
  • ベストアンサー率25% (453/1783)
回答No.3

> できれば解析スクリプトをソースで表示させないようにしたいと思っています。 ですから、外部ファイルにしておけばよいでしょう。 > imgタグをdocument.writeで何行かにわけて生成しているみたいです。これがダミー画像でしょうか? そうです。 > この画像のサイズを指定し小さくできれば空白も少なくなるのでしょうか? 無くなりはしませんし、おそらくすでに1pixelで出していると思います。 それでも文字の1行分取られてしまいます。 > body内に書くのは大丈夫なのでしょうか? どこにでも書けますよ。 ヘッダーに書くのは、事前に読み込ませて、使いたいところで出力するためです。 だから、 function xxx { となっていろものが多いでしょ? 本文中に書くのは、そこで出力したい場合です。 出したいところに書けばよいですよ。 ↓参考

参考URL:
http://spur.s8.xrea.com/doc/hobby/java/java_1.htm
racom
質問者

お礼

一つ一つご丁寧にありがとうございます。 あれから実際に試して、問題ないことがわかりました。 大変たすかりました。本当にどうもありがとうございました。

その他の回答 (2)

  • Spur
  • ベストアンサー率25% (453/1783)
回答No.2

アクセス解析をJavaScriptでやっているということですようか? 私はperlで書いて、呼び出していますけど・・・ それとも、外部に置いたJavaScriptからまたcgiを呼んでいるのかな? いずれにしても、解析ソフトは、ダミー画像を出力していませんか? そういったタイプなら、当然空白ができますので、Body中のどこか、影響の出ないところで指定した方が良いでしょう。 私はロゴ画像のすぐ横とか、一番下に入れていますよ。 ただ単に<body>と</body>の間のどこか影響が無いところに書いてください。

racom
質問者

お礼

解析用スクリプトはjavascriptでできていました。 スクリプト部分のみをペーストして****2.jsとして保存しています。 >ダミー画像を出力していませんか? 解析用スクリプトを確認してみたところ、imgタグをdocument.writeで何行かにわけて生成しているみたいです。これがダミー画像でしょうか? ということはこの画像のサイズを指定し小さくできれば空白も少なくなるのでしょうか? >Body中のどこか、影響の出ないところで指定した方が良いでしょう 下記お礼にも書きましたとおり、できれば解析スクリプトをソースで表示させないようにしたいと思っています。 <script type="text/javascript" src="http://test.com/****2.js"></script> をbody内に書くのは大丈夫なのでしょうか?リファレンスなどで「外部ファイルの指定の仕方」などを見ると全て<head>内にかかれているのでそこじゃないとダメなんじゃないかと思っていました。 とにかく試してみることにします。 ご回答いただいたことでかなり糸口が見つかりました。 本当にありがとうございます。

回答No.1

アクセス解析用のスクリプトは、その場所に入れては空白ができます。 アクセス解析用のスクリプトは<head></head>の間出ないとだめということはないので、デザイン的に余裕がある位置。たとえばテーブルで使っていない列の中や、20×20ピクセルぐらいひろがってもオッケーな部分にいれると、いけますよ。

racom
質問者

補足

やはり、解析用スクリプトだとスペースが空いてしまうということなんですね。 ありがとうございます。 今回は解析用スクリプトをソースに出したくなかったので外部ファイルにしたのですが、body内でも外部ファイル指定タグは使えるのでしょうか。できなければ、何か他に方法はありますでしょうか? よろしくお願いします。

関連するQ&A