カテゴリー Home > php > サーバサイドでOS・ブラウザ判定

サーバサイドでOS・ブラウザ判定

  • ( 1 )
  • ( 0 )
  • ( 0 )
  •  2007/12/13 (Thu)

「そんなのできたらOS毎に分けたHTMLを出力するとき、無駄なdocument.write()だらけにならずに便利なのに、、、」と思ったのですが、よくよく考えたらUserAgent見たらできそう。と、いうわけでPHPで書いてみました。

<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if(eregi('Windows', $ua)){
	echo('Windows!');
} else {
	echo('Not Windows!');
}
?>

超簡単。UA送ってくれてたらブラウザ判定もいけます。

もちろん「UA偽装されたら、、」とかな話もあるけど、JSに頼らず"そこそこの信頼度"で知れることも大事かな、と。あと、サーバサイドで判定していたらSmartyなんかのテンプレートシステムでコード分けがものすごくシンプルになります。

{if $os=='win'}
<h1>For Windows User</h1>
{/if}

こんな感じでtplファイルに書けます。これをクライアントサイドでやると

if(os=='win'){
 document.write('<h1>For Windows User</h1>');
}

こんな感じですかね。クライアントサイドでの判別方法の実装側の問題点として、ソース内のHTMLの実体が文字列ばっかりになっちゃって何だか分からなくなること多いこと。タグが入れ子になってきたらよくミスっちゃうことも多いはず。と、いうわけで、ずっとクライアントサイドに振るべきだと思われてた仕事も、サーバ側に振れる仕事は振っちゃってもいいのかな、と思いました。

 | 

Google Adsense

Social bookmark comment : 0

No comment.

Comment : 0

Comment Form

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

Remember personal info
           

Trackback : 0

TrackBack URL for this entry
http://blog.katsuma.tv/mt-tb.cgi/108
Listed below are links to weblogs that reference
サーバサイドでOS・ブラウザ判定 from blog.katsuma.tv

Home > php > サーバサイドでOS・ブラウザ判定

Search
Feeds
Google Adsense

Page Top