ブラウザーの種類やバージョンによりウェブの表示がおかしくなることがある。
このような場合、ブラウザーの種類やバージョンによりスタイルシートを変えたり、メッセージを表示し、ユーザーに何らかのアクションをとらせるなどの方法が考えられる。
今回、IEの6以下だとウェブの表示がおかしくなるのでその場合に、IE7以上にバージョンをアップするように促すメッセージを表示するように対応した。
【環境】
サーバー Core-Mini
アプリケーション WordPress MU
①まず、ブラウザーの種類とバージョンを調べるための関数を作る。ファイル名はbrowser_det.php。
<?php
function browserdet(){
$browser = get_browser(null,true);
// ブラウザーのバージョンがIE7より小さい(IE6以下)ならブラウザーのバージョンをアップするように促す
if (($browser[browser] == ‘IE’) && ($browser[majorver]<7)){
echo ‘<font color =red>’.'お使いのブラウザーはインターネットエクスプローラーのバージョン’.$browser[majorver].’です。’.'<br>’;
echo ‘古いバージョンのためにきちんと表示することができません’.'<br>’;
echo ‘バージョン7以上にアップデートしてください。’.'<br>’.'</font>’;
}
}
//browserdet();
?>
②get_browserを使えるようにするためphp_browscap.iniをhttp://browsers.garykeith.com/downloads.aspから落としてくる。
③php.iniの設定を以下のようにする。
[browscap]
browscap = /virtual/user-name/public_html/hoge.hoge.com/php/browser/php_browscap.ini
このphp.iniをhoge.hoge.comのルートに置く。
④browser_det.php、php_browscap.iniをhoge.hoge.com/php/browserにアップロードする。
⑤header.phpに以下を追加する。
<?php
require (‘/virtual/user-name/public_html/hoge.hoge.com/php/browser/browser_det.php’);
browserdet();
?>
以上によりブラウザーがIE6以下ならブラウザーのバージョンが古いためにきちんと表示されないというメッセージが表されるようになる。
【参考URL】
http://www.php.net/manual/ja/function.get-browser.php
http://wdsdx.com/php_browscap
http://www.coreserver.jp/help/index.php/phpcgi/