人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

例えば下記ページのように、アクセスしてきた人のパソコンの様々な環境情報を取得することが出来るサイトをよく見かけます。
http://duga.jp/help/pc_check.html

OSやブラウザぐらいなら環境変数から取得出来そうですが、他のjavascriptや解像度、Windows Media Playerなどは、どのように取得(判定)しているのでしょうか。

メインの言語はPHPですが、javascriptとの組み合わせなどでも可です。
よろしくお願い致します。

●質問者: rimtamago
●カテゴリ:インターネット ウェブ制作
✍キーワード:JavaScript OS PHP Windows Media Player アクセス
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ymlab
●60ポイント

javascriptから、解像度は取得できます。

http://www9.plala.or.jp/oyoyon/html/script/screen.html

PHPからは、javascriptの変数を取る方法は多数ありますが、

http://oshiete1.goo.ne.jp/qa2005082.html

こんな質問が乗っていました。

面倒でしたら、postで渡してもよいかと。

◎質問者からの返答

ありがとうございます。

PHPとのやりとり部分はおもしろそうですね。


2 ● avena
●200ポイント ベストアンサー

環境変数から取れない情報も、JavaScript との組み合わせで色々な取得できます。

各種情報の取り方はそれぞれ工夫が必要で、

●画面解像度を取る

下記 URL にあるような JavaScript で取得

http://program.station.ez-net.jp/notes/common/271.asp

こんな感じで色々やります。

あとは、実際に例示していだいたページのコードを読んでみると、何やってるかがわかります。

全部クライアントサイドで処理させてるっぽいですね。

●クッキーの有効無効

navigator.cookieEnabled;

で取得してるようです。

●MediaPlayer

実際に <object> タグで MediaPlayer オブジェクトを埋め込み、それを JavaScript でごにょごにょしてます。

<object id="WMPlayer"

でソース内を検索してその下の <script> 内がちょうど MediaPlayer のバージョン判定のコードになってますね。

例示していただいたページでは、JavaScript を使って全部クライアントサイドで用を済ませる作りになっていました。

ユーザに見せるだけでなく、サーバサイドの PHP で弄る必要があるなら、環境変数でどうにか取得できるぶんは PHP だけで解決し、それで無理な部分は、hidden の値としてフォームに適当にセットしておいて、それを post させると上手くいくでしょう。

たとえば、JavaScript の有効無効をチェックするならあらかじめ input 要素を用意しておいて、

(例: <input id="jsEnabled" type="hidden" name="jsEnabled" value="false"/>)

JavaScript が有効ならその値が変更されるようにする

(例: document.getElementById('jsEnabled').value='true')

→それを送信 (この場合、JavaScript が有効なら jsEnabled=true がパラメタとして送られてくることになる)

JavaScript で取得した MediaPlayer のバージョンが playerMajorVersion なら、<input type="hidden" id="mediaPlayerVersion" name="mediaPlayerVersion"/> という具合のものを HTML に仕込んだ上で、

document.getElementById('mediaPlayerVersion').value=playerMajorVersion

という具合に流し込む。

(※はてな記法がよくわからないので、うまく書き込めない<や>は半角だと思ってください。ごめんなさい。)

◎質問者からの返答

詳しい説明をありがとうございました。

おかげさまで、中で何をしているのかが良く理解できました。


3 ● azuco1975
●30ポイント

解像度はJavascriptで簡単に取得できます。

http://www.broadband-xp.com/affiliate/resolution.html

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ