|
||||||||||||
JavaScriptを使用してるサイトでは製作・管理者は『エラーが出ないか?』を十分確認していると思います。 でも個人の場合は製作会社の様にあらゆるテスト環境があるわけでもなく、確認にも限界があります。 残念ながらJavaScriptはクライアントサイドスクリプトである以上、ビジターのPC・ネット・ブラウザの環境に大きく左右されます。
よくある確認の甘さとしては、ローカルでのテストはロード時間のタイムラグがほとんど無いので、時間がかかるケースの確認・対処が甘くなりがち。
また、サーバー上での確認も2度目からはキャッシュがあるので初めて訪れた人の状態とはちょっと違います。キャッシュを消しながら常に確認してもちょっとした変更で落とし穴を作ってしまったり。
そこでイベントハンドラ onerror を使ってエラー情報をCGI記録して、 『はたして訪問者はエラーを起こしていないのか?』を調査しエラーつぶしに役立てる為のJavaScriptとCGIの簡易サンプルです。 onerror を理解してくれないブラウザのエラーログは取れません。 とりあえず2大ブラウザのIEとFireFox、Netscapeで取れるので、これで最低限のチェックをしておこうと言う事です。 うちのサイトでもMac系ブラウザ(特にMac IE)や、擬似IEのSleipnir等ではエラーが出ています。 昔は友人に協力願って直してましたが、Mac系の問題は放置気味です(笑) 使う機会ないし。
■ File DownLoad => errorcheck.zip
Windows、Shift_JIS記述の JSファイルとCGI(PHP版とPerl版)が入っています。
■使い方
準備1
準備2
準備3 以上で終わりです。 動作確認: テストの為に自分のJavaScriptコードのどこかにエラーがでるように、 『あ』 とかを書き込んでページを表示させてJavaScriptエラーを故意に起こしてみてください。 jserrorlog.txtに記録ができていれば動作確認終了です。
記録されない場合
CGIはデータを取る為だけに非常に単純にできています。 送信元チェックなども行っていませんので、CGIが外人のスパムターゲットになった場合は、 php、perl 共になんらかの対策をするか、しばらく削除して使うのをやめてしまいましょう。
記録内容は
閲覧用CGIなどは用意していません。
ログファイルのクリア機能もありませんので、時々FTPなどから空にしてください。
頻繁にログが書き込まれるような場合は、
『環境やブラウザが・・』と言うよりも、明らかに何らかのコーディングミスやブラウザ間の違いの調整ができていない事になります。
エラーメッセージやエラーを起こしたブラウザ名などを参考に、JavaScript全体をよく見直してください。
頻繁にログが書き込まれ、さらに原因がわからない場合はJavaScriptを外す決断をするのも大事です。
訪問者はエラーだらけで閲覧して迷惑な状態が続いているのでしょうから、
解決できないエラーを放置して無理にJavaScriptを使ってる事はマイナスでしかありません。
CGIに送られるエラーデータはJavaScriptの encodeURIComponentで URLエンコードされてるUTF8か、
或いはこのメソッドが理解できないブラザの生データ(ページの文字コード)になります。
従ってCGIの方では生で送られてきたケースを考えてページの文字コードと同じコードにしてログを取った方が良いです。
文字化けの解消がうまくできない人も、ファイル名や行番号は文字化けしませんので
見当を付けて自分のJavaScriptのコードミスを修正していけると思います。
・エラーを知った上で使ってるページ |
専用ページから申し込むと So-netより高い3万円CB
案ずるより産むが易し
使ってみれば疑問も解決 XREA+ (plus) 206円/月 ( お試し7日間 ) CORE SERVER 428円/月 ( お試し15日間 ) ロリポップ 270円/月 ( お試し期間10日間 ) ヘテムル 1620円/月 ( お試し期間15日間 ) さくら 129円/月 ( お試し期間2週間 ) |
|||||||||||
【 PR 】 楽天カード入会でもれなく2000pt(2000円相当)が無料プレゼント さらに
ENEOSでの給油はポイント2倍! ネットでも日常でもお得な生活 【 PR 】
|