アクセス解析を設置する際、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>以降に書く。

ということです。
何が原因がおわかりの方教えてくださいませ。

A 回答 (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を単独で実行してみてください。


もともとのソースでもちゃんと動作するはずなので、それを追加したために他の部分の表示までなくなってしまう、というのは考えにくいです。

他の部分の記述に問題があるかも知れませんし、スクリプトの挿入位置に問題があるかも知れません。

この回答への補足

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

補足日時:2001/11/19 23:25
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/11/19 23:05

cgiが返す画像のサイズが縦横1ドットになってますので、ほとんど何も表示されないはずです(^_^;)



document.write('<img src="log4.cgi?' + document.referrer + '" width=100 height=50>');

と変えてみてください。cgiが上手く動作していれば、おそらくカウンタ画像が表示されると思います(cgiの仕様によりますが)。

「×」が出て画像が表示されないようでしたら、log4.cgiが上手く動作していません。

cgiファイルは、プロバイダに指定されたディレクトリ下に置く必要があります。HTMLと同じディレクトリでいいこともあるでしょうが、違うところに置かなくてはならないこともあります。cgiは置いてはいけないプロバイダもあります。
    • good
    • 0
この回答へのお礼

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

cgiを置く場所などは間違ってないので大丈夫のはずなのですがどうしてなんだろう・・・

お礼日時:2001/11/19 00:27

 


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

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

お礼日時:2001/11/18 01:45

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q

javascript初心者です。
元々使われていたjavascriptです(動作確認済み)
これを他の箇所にも利用しようとしてるのですが
文法的に間違っているような・・・どうでしょう?
------------------------------------------
<a href="javascript:wopen('pict.php?pic=○○',○○,○○)">
<noscript><a href="○○" target="_blank"></noscript>
<img src="○○" alt="画像拡大">
</a>
------------------------------------------
また、javascriptは、現在ここ一箇所だけなのですが、
わざわざ利用しないほうがいいのかも?
とも思いますが、どうでしょう?

Aベストアンサー

元の記述方法はタグの入れ子の対応とか文法違反が色々あります。

<a href="○○" onclick="wopen('pict.php?pic=○○',○○,○○);return false;" target="_blank"><img src="○○" alt=""></a>
こんな書き方でもいいかも。
・javascriptが使える環境ならwopenを実行し、hrefの内容へのジャンプはキャンセル。
・javascriptが使えない環境なら通常通りhrefの内容にジャンプ。

Q

数十の<a>タグがあるHTMLファイルの中で、
<div id="blank">で囲まれた<a>タグ群のみをすべてtarget="_blank"にしたいと考えています。
該当する<a>タグすべてにtarget="_blank"を書くと、HTMLファイルの容量が大きくなるので、CSSのIDとJavaScriptを組み合わせて、実現できないものでしょうか。

Aベストアンサー

<base target="_blank">
<div id="blank">
 <!-- -->
</div>
<base target="_self">

Q

▼次のようにページ内のdivタグのidの名前によって、formタグ内の要素をdisableにすることはJava scriptによって可能でしょうか?

<div id="AA">のとき、別の場所にある<form id="BB">内のselect要素などすべての要素をdisableにする。

また同時に、id="BB"に指定したスタイルシートの記述を書き換えることは可能でしょうか?

何かよい方法をご存知でしたら教えてください。よろしくお願いいたします。

Aベストアンサー

>なぜか時々エラーが出ます。
ウチでちょっと試した程度ではエラーが発生しませんでした。
できましたら、発生したときのメッセージや場所また、ブラウザの種類なども教えてください。

以下は、予防的な意味での注意点についてちょっと書きます。
>return false;

は、必要ないです。
書かない方がいいと思います。
==nullの場合の処理が必要ないなら
!=nullにすればよいです。
もしくは
return false;でなくて
;
のように空文でもよいです。
あと、idに使っている名前と同じ名前を変数名として使わない方が良いです。
つまり、
id="soldout"の時に
var soldout;という風にはしない方が良いです。
同じでなければ、cartFormでもなんでもかまいません。
あと、scriptは、
<!--
(スクリプトの中身)
//-->
のように
<!--
//-->
で囲むようにします。

getElementById
は、ブラウザやのブラウザのバージョンによっては使えないことがあります。
その場合は、使えるかどうかを調べる必要があります。

<script type="text/javascript">
<!--
function stockStatus (num){
var f=document.getElementById("soldout");

if(f!=null){
for (var i =0; i<=f.length -1 ;i++){
f.elements[i].disabled=num;
}
}
}
//-->
</script>

>なぜか時々エラーが出ます。
ウチでちょっと試した程度ではエラーが発生しませんでした。
できましたら、発生したときのメッセージや場所また、ブラウザの種類なども教えてください。

以下は、予防的な意味での注意点についてちょっと書きます。
>return false;

は、必要ないです。
書かない方がいいと思います。
==nullの場合の処理が必要ないなら
!=nullにすればよいです。
もしくは
return false;でなくて
;
のように空文でもよいです。
あと、idに使っている名前と同じ名前を変数名として...続きを読む

Qif(document.all && navigator.appVersion.indexOf('Mac')!=-1)returnの意味

よろしくお願いします。
JavaScriptの勉強をしているのですが、参考にしている書籍に以下の構文が出てきまして、それの意味が分からなくて悩んでいます。

//MacIE4,5バグ 回避
if(document.all && navigator.appVersion.indexOf('Mac')!=-1)return

//以降に記してあるとおり、OSがMacintoshだった場合に何らかの処置を行うプログラムなのは分かるのですが・・。
navigator.appVersion.indexOf('Mac')!=-1の部分は、「navigator.appVersion.indexOf('Mac')が1ではなかったら、Macユーザーであるということ、で、falseが返されるのでしょうか?
しかし、そもそもnavigatorオブジェクトはブラウザの種類のことではないのか?と混乱してしまっています。
また、document.allがどのような役割を果たしているのかも分かりません。なぜここでdocument.allが出てくるのでしょうか?

どなたか分かる方いらっしゃいましたら、ご教授宜しくお願いします。

よろしくお願いします。
JavaScriptの勉強をしているのですが、参考にしている書籍に以下の構文が出てきまして、それの意味が分からなくて悩んでいます。

//MacIE4,5バグ 回避
if(document.all && navigator.appVersion.indexOf('Mac')!=-1)return

//以降に記してあるとおり、OSがMacintoshだった場合に何らかの処置を行うプログラムなのは分かるのですが・・。
navigator.appVersion.indexOf('Mac')!=-1の部分は、「navigator.appVersion.indexOf('Mac')が1ではなかったら、Macユーザーであるということ...続きを読む

Aベストアンサー

「document.all」は昔はIEにだけ存在するオブジェクトだったのでIEであるかどうかの判定に使われました。

今ではOperaやNetscape等でもIEへの互換の為に存在するのでIEかどうかの判定に使われる事は減ってきています。
IEであるかどうかの判定ではなく、純粋にdocument.allが在る(使える)かという判定にはもちろん使用されますが。

「navigator.appVersion」は確かにブラウザの種類なんですが、実際にはOS名も含まれていたりすのでOSの判定にも使われたりします。

また、 != -1 というのは indexOf関数の結果が 0~なら文字列が見つかったという意味(真偽ではなく、見つかった位置を返す関数)になるのでこういう比較式を使用しています。
(1でなかったらMacユーザという解釈はちょっと違います。)

参考URL:http://www.openspc2.org/JavaScript/ref/

QJavascriptで算出した数値を

当方Javascriptはほとんど知らないといってもいいぐらいの素人です。
今まで勘と検索でがんばってきましたが、ちょっと行き詰っています。
タイトルのとおり
Javascriptで算出した数値を<div height="★px">の、★の部分に代入したい
のです。

ウェブ上で手に入れたjsを利用しています。

<a href='javascript:void(0)' onclick='alert(kl_windowheight());'>高さをアラートで数値のみ表示</a>
メモ:
kl_windowheight()の部分がアラートでウィンドウの高さの数値のみを表示します。

このkl_windowheight()をそのままheightに代入するにはどうすればいいのでしょうか?
できれば算出した値から100px程引きたいのですが。それはとりあえず無くてもOKです。。。

出来そうな方いらっしゃいましたらよろしくお願いします。
何かわからないことがありましたら、わかる範囲で補足します。

Aベストアンサー

document.getElementById('ABC').style.height =
(kl_windowheight() -100) + 'px';

<div id="ABC">対象のDIVにはIDを付けておきます。</div>


人気Q&Aランキング

おすすめ情報