• ベストアンサー

画面が真っ白になるのはどうして?

アクセス解析を設置する際、javascriptを説明どおりに入れたのですが、保存してhtmlを見ると画面が真っ白になってしまいました。 下記のような内容です。 <script language="JavaScript"><!-- document.write('<img src="log4.cgi?' + document.referrer + '" width=1 height=1>'); // --></script><noscript><img src=log4.cgi width=1 height=1></noscript> 注意点: ・「<!--」の次は必ず改行する。 ・「log4.cgi」の部分は、log4.cgiへのURLを書く。 →「public_html/」に「log4.cgi」を転送したときこのままで結構です。 ・「document ... height=!>');」までは1行に書く。 ・<Body>以降に書く。 ということです。 何が原因がおわかりの方教えてくださいませ。

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

  • ベストアンサー
  • Adams2001
  • ベストアンサー率67% (70/103)
回答No.3

cgiの動作テスト用ページを書いてみました。 <HTML> <HEAD><TITLE>テスト用</TITLE></HEAD> <BODY> <script language="JavaScript"><!-- document.write('<img src=\"log4.cgi?' + document.referrer + '\" alt=\"script:log4\" width=\"100\" height=\"100\">'); document.write('<P>JavaScriptが動作しています</P>'); // --></script> <noscript> <img src="log4.cgi" alt="noscript:log4" width="50" height="50"> <P>JavaScriptが動作していません</P> </noscript> <P>本文</P> </BODY> </HTML> cgiの返す画像とJavascriptの動作状況が表示されるはずです。まずはこのHTMLを単独で実行してみてください。 もともとのソースでもちゃんと動作するはずなので、それを追加したために他の部分の表示までなくなってしまう、というのは考えにくいです。 他の部分の記述に問題があるかも知れませんし、スクリプトの挿入位置に問題があるかも知れません。

chikaboon
質問者

お礼

ありがとうございます。 単独で実行してみましたら『動作しています』 とのことです。 作ったhtmlの画面も真っ白になりませんでした。 <body>の次に貼りつけたので挿入してる場所は問題ないと 思います。 後から貼りつけるのではなくて記述してあるところに htmlのタグを貼りつけるなどちょっとやってみます。

chikaboon
質問者

補足

できました。 原因はスタイルシートの記述場所のせいで表示されなかったようです。 スタイルシートの場所を変えてjavaスクリプトを載せたら うまくいきました。 アクセス解析も正常に動きました! ありがとうございました。

その他の回答 (2)

  • Adams2001
  • ベストアンサー率67% (70/103)
回答No.2

cgiが返す画像のサイズが縦横1ドットになってますので、ほとんど何も表示されないはずです(^_^;) document.write('<img src="log4.cgi?' + document.referrer + '" width=100 height=50>'); と変えてみてください。cgiが上手く動作していれば、おそらくカウンタ画像が表示されると思います(cgiの仕様によりますが)。 「×」が出て画像が表示されないようでしたら、log4.cgiが上手く動作していません。 cgiファイルは、プロバイダに指定されたディレクトリ下に置く必要があります。HTMLと同じディレクトリでいいこともあるでしょうが、違うところに置かなくてはならないこともあります。cgiは置いてはいけないプロバイダもあります。

chikaboon
質問者

お礼

ありがとうございます。 早速やってみたのですがやはり真っ白でした。 htmlファイルをメモ帳で開いて 上記のスクリプトを書いて保存して クリックして見ると真っ白です。 なのでもう一度開いてそのスクリプトを消して保存しなおすと ちゃんと元と同じに表示されます。 cgiを置く場所などは間違ってないので大丈夫のはずなのですがどうしてなんだろう・・・

  • starflora
  • ベストアンサー率61% (647/1050)
回答No.1

    よく分からないのですが、   document.write の中の以下の式:     <img src="log4.cgi?' + document.referrer + '" width=1 height=1>     これは正しいでしょうか?     src="log4.cgi?' + document.referrer + '"     は、括弧の順序からすると、     「log4.cgi?」 と 「' + document.referrer + '」   の二つに分かれると思えるのですが、後の式はどういう意味なのか、分かりません。   これは、「スペース+スペースdocument.referrerスペース+スペース」   と読めますが、この四つのスペースは、どうなっているのかです。   Javascript の元の式と比べて確認してみてください。  

chikaboon
質問者

お礼

ありがとうございます。 これは説明しているところからコピペしたものなので 間違いはないと思います。 ためしにスペースをつめて手打ちでやってみたのですが やはり同じく真っ白になってしまいました。。。

関連するQ&A