Perl/CGI研究室 'PERL-LABO'

Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

Javaスクリプトで得られる情報の研究

研究内容

Javaスクリプトでどのような情報が取得できるか研究します。

詳細

前回の研究で、 Javaスクリプトで得られる情報は、動的にHTMLを生成することによって CGIプログラムに渡すことができることがわかりました。 Javaスクリプトで得られる情報であれば、 どんなものでもCGIプログラムに渡すことができるんでした。 それでは、Javaスクリプトではどんな情報を取得できるのでしょうか? いわゆる、アクセス解析に利用できる情報があるかな? 研究してみましょう。

結果

Javaスクリプトで得られる情報一覧

Javaスクリプトのドキュメントを読みあさって、 どんな情報が取得できるのか、調べてみました。 これで全部かどうか分かりませんが、私が見つけることができたのは、 次の通りです。結構たくさんありました!

navigator.appNameブラウザの名前
navigator.appCodeNameブラウザのコード名
navigator.appVersionブラウザのバージョン
navigator.appMinorVersionブラウザのマイナーバージョン
navigator.platformブラウザのプラットフォームを
navigator.cpuClassマシンのCPU情報
navigator.browserLanguageブラウザの言語
navigator.systemLanguageシステムの言語
navigator.userLanguageユーザ環境の言語
navigator.cookieEnabledcookieが利用可能かどうか
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.  リンクフリーです。