検出・調査・記録JavaScriptを使用してるサイトでは製作・管理者は『エラーが出ないか?』を十分確認していると思います。個人の場合は製作会社の様にあらゆるテスト環境があるわけでもなく、確認にも限界があります。残念ながらJavaScriptはクライアントサイドスクリプトである以上、ビジターのPC・ネット・ブラウザの環境に大きく左右されます。ある確認の甘さとしては、ローカルでのテストはロード時間のタイムラグがほとんど無いので、時間がかかるケースの確認・対処が甘くなりがち。サーバー上での確認も2度目からはキャッシュがあるので初めて訪れた人の状態とはちょっと違います。キャッシュを消しながら常に確認してもちょっとした変更で落とし穴を作ってしまったり。『こうしなかったらどうなる?』に関しては自分の想定外の部分までは考えが及びませんし、必ず想定外は存在する物です。自分の環境では起きないエラーを見つけるのはなかなか難しい事です。『はたして訪問者はエラーを起こしていないのか?』を調査しエラーつぶしに役立てる為のJavaScriptとCGIの簡易サンプルです。理解してくれないブラウザのエラーログは取れません。2大ブラウザのIEとFireFox、Netscapeで取れるので、これで最低限のチェックをしておこうと言う事です。IE)や、擬似IEのSleipnir等ではエラーが出ています。JSファイルとCGI(PHP版とPerl版)が入っています。jserrorlog.js内のスクリプトコードを自分のJavaScript内に書き込んでください。できるだけあらゆるスクリプトより先に読み込ませてください。エラー調査ですので、できるだけJavaScriptを記述してある全てのページで読み込ませるように外部ファイルで単独で読み込ませてしまったほうが良いと思います。グローバル用JSファイルがあるならそこに記述してください。.php)のパスをhttpからのフルURLで記入してください。一箇所のページでしか使わない場合や、ディレクトリ構造が全て同階層であれば相対パスでも結構です。準備3CGIとログファイルを自分の設定した場所に置きます。PHPパスを1行目に書き込む必要があります。jserrorlog.txt。1行目のperlのパスを多々しく設定してください。755や705、700などサーバー指定にします。666や606、600等のR/Wモードで。書き込んでページを表示させてJavaScriptエラーを故意に起こしてみてください。jserrorlog.txtに記録ができていれば動作確認終了です。パーミッションやphp、perlのパスはあってるか?・ログファイルのパーミッションは書き込み許可になっているか?等を調べてください。記録CGIとログについてCGIはデータを取る為だけに非常に単純にできています。共になんらかの対策をするか、しばらく削除して使うのをやめてしまいましょう。記録内容はmsg:メッセージurl:エラーが起きたファイル名line:エラーの起きた行agent:ブラウザが、タブ区切りでファイルになっています。エラーメッセージの内容はIEのエラーの詳細やGecko系のエラーコンソールで出るメッセージ、ページ、行番号そのままです。行番号は全体のコーディングの問題やエラーの質によっては的確な行数で無い場合も結構あります。メッセージなどを見て判断してください。閲覧用CGIなどは用意していません。その上で自分の環境では出ない未知のエラーが訪問者に起きた場合にログをとる為の物です。『通常はエラーログが書かれない』のが前提ですから不用でしょう・・(笑)ログファイルのクリア機能もありませんので、時々FTPなどから空にしてください。正しいJavaScript?が使われていれば、ログは一切溜まりません。『環境やブラウザが・・』と言うよりも、明らかに何らかのコーディングミスやブラウザ間の違いの調整ができていない事になります。エラーメッセージやエラーを起こしたブラウザ名などを参考に、JavaScript全体をよく見直してください。PC用サイトであれば大きな問題と言えます。頻繁にログが書き込まれ、さらに原因がわからない場合はJavaScriptを外す決断をするのも大事です。解決できないエラーを放置して無理にJavaScriptを使ってる事はマイナスでしかありません。喜ばれる必要な情報を掲載してるサイトで無い限りは訪問者も減っていきます。このメソッドが理解できないブラザの生データ(ページの文字コード)になります。従ってCGIの方では生で送られてきたケースを考えてページの文字コードと同じコードにしてログを取った方が良いです。phpの場合はmb_convert_endocingの方で記録用文字コードを設定してください。perlの方はデフォルトではそのままUTF8にしてありますので、Jcodeなどを利用して文字コードの変更をしてください。見当を付けて自分のJavaScriptのコードミスを修正していけると思います。意図的にIEだけでは有効、FireFoxだけでは有効を許可してるページのログが無駄に溜まります。スルーさせれば問題ないような記述を意図的にしてる場合です。null;の様な記述を、エラーチェック用スクリプトの後に入れておけばエラーログは取りません。)無駄な高額ドメイン管理料金払ってませんか?バリュードメインムームードメイン2010年で第二世代携帯がサービス終了。配布素材以外のコンテンツの無断使用・転載を禁じます。