|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
Javaスクリプトでどのような情報が取得できるか研究します。
前回の研究で、 Javaスクリプトで得られる情報は、動的にHTMLを生成することによって CGIプログラムに渡すことができることがわかりました。 Javaスクリプトで得られる情報であれば、 どんなものでもCGIプログラムに渡すことができるんでした。 それでは、Javaスクリプトではどんな情報を取得できるのでしょうか? いわゆる、アクセス解析に利用できる情報があるかな? 研究してみましょう。
Javaスクリプトのドキュメントを読みあさって、 どんな情報が取得できるのか、調べてみました。 これで全部かどうか分かりませんが、私が見つけることができたのは、 次の通りです。結構たくさんありました!
| navigator.appName | ブラウザの名前 |
| navigator.appCodeName | ブラウザのコード名 |
| navigator.appVersion | ブラウザのバージョン |
| navigator.appMinorVersion | ブラウザのマイナーバージョン |
| navigator.platform | ブラウザのプラットフォームを |
| navigator.cpuClass | マシンのCPU情報 |
| navigator.browserLanguage | ブラウザの言語 |
| navigator.systemLanguage | システムの言語 |
| navigator.userLanguage | ユーザ環境の言語 |
| navigator.cookieEnabled | cookieが利用可能かどうか |
| screen.width | モニタの横の解像度 |
| screen.height | モニタの縦の解像度 |
| screen.colorDepth | カラーパレットの色を表すために必要なビット数 |
| document.body.clientHeight | ウィンドウの表示領域の高さ |
| document.body.clientWidth | ウィンドウの表示領域の横幅 |
| document.referrer | リファラー |
| history.length | ヒストリーの個数 |
意味のよく分からないものもありますが、とにかくこれだけの情報が得られるようです。 ブラウザのユーザーエージェントなど、Javaスクリプトを使わなくてもCGIプログラム側で 取得できる情報もありますが、ほとんどはCGIプログラム側では取得できない情報です。 中で、気になったものは、モニタの解像度。 モニタの解像度は人(マシン)によって違いますが、ウェブサイトを作る時には、 横スクロールバーが出ないように注意しないといけないっていうこともあって、 モニタの解像度、特に横幅っていうのは知りたい情報の1つですね。 あと、色を表すビット数というのが3つあり、3つの違いはよく分からないのですが、 これは画面が256色か65535色か1677万色かっていう情報です。 これも、ちょっと気になるかな?あと、ウインドウの大きさ。 モニタの解像度と同じような情報ですが、これは実際に訪問者様が ブラウザをどれくらいの大きさにしてページを見ているかっていう情報なので 知りたい情報の1つでしょうか。 ヒストリーの個数とか、分かったところでなんの役に立つのかわからないものもありますが、 こんな感じでいろんな情報が得られるようです。
それでは、実際にこれらの情報を画面に表示してみましょう。 下の枠の中で、実際にJavaスクリプトによってこれらの情報を表示しています。 ですから、表示されているのは、貴方のマシン、ブラウザの情報になります。
InternetExplorer6 の場合、これらは全部なんらかの値が表示されるっていうのを確認しました。 でも、これらのJavaスクリプト、どうやらブラウザによって対応しているものとしていないもの、 あるいは同じ情報を表すのでも変数名が違うものなど、まちまちみたいです。 こういうの、困りますよねぇ。ブラウザによって挙動が違うっていうの、あんまり 気にしたことがなかったですが、なんか困ったなぁという感じです。 が、幸い、対応していない変数名があっても、エラーとかにはならないようです。 対応していない場合、undefined という文字列になるだけみたいです。 それなら、まだ気が楽ですね。
さて、こんな感じの情報が取得できるっていうことは分かりました。 これで、CGIプログラムの中で環境変数から取得できる情報に加えて、 Javaスクリプトで取得できる情報が出揃いました。 アクセス解析の基礎、準備は、これにて完了! 次回からは、実際にアクセス解析を行うCGIプログラムの作成に挑戦してみたいと思います!
|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
| Copyright (c) 'PERL-LABO' All Rights Reserved. リンクフリーです。 |