Mac IE に Lightbox Plus を読込ませない

Mac IE に Lightbox Plus を読込ませない

Author : pushman|Web|2006-03-29 Wed 01:47

当サイトのレイアウトは配付終了した Mac IE 以外の主要ブラウザでほぼ互換がとれています。もちろん一番思い通りに表示してくれているのは Tiger で起動する最新版の Safari です。Panther の Safari もほとんど文句ないですが、スタイルシートなどで強制的に縮小表示している画像*1がちぃと汚い。でもこれはブラウザというよりも OS の機能の問題のようです。Tiger ではどのブラウザでもきれいに表示していますので。で、完全無視している Mac IE ですが、細々やってる Blog ですのでそこまで対応するのもしんどいし、人が少ないので必要性も感じていませんでした。ところが、なんと当サイトを開いただけで IE が強制終了されていたことが判明。Mac IE にとってはブラクラ Blog と化していたようです。大変申し訳ありませんでした。

で、その原因ですが、先日「Lightbox JS」より移行した「Lightbox Plus」だったようです。導入以降のアクセスログに Mac IE がまったく無かったので、一時的に外してみるとレイアウトはともかく表示はもたつきながらもしてくれました。導入メモはほんとに役立ちます。

というわけで、なにがなんでも Mac IE だけには Lightbox Plus を読込ませないように「PHP で IE 6 の後方互換対策」で学んだ知識を役立ててみました。

「役立ててみました」なんて偉そうに言っちゃいましたが、やってることは「PHP で IE 6 の後方互換対策」とまったく同じ。まず、以下ような PHP ファイルを用意します。

<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if ( (ereg("Mac",$ua) > 0) && (ereg("MSIE",$ua) > 0)) {
 if (ereg("IE.",$ua) > 0) {
  echo '';
 }
} else {
 echo '<script type="text/javascript" src="http://blog.heartfield-web.com/skins/javascript/lightbox_plus.js"></script>';
}
?>

「PHP で IE 6 の後方互換対策」で使用している PHP との違いは「Windows」が「Mac」、「MSIE 6.」が「IE」になっただけです。後は出力する文字列を Lightbox Plus の URI にしただけ。あとはこの PHP ファイルを Nucleus 変数の「<%phpinclude%>」を使用して、<head> タグ内で呼び出しています。

ブラウザの判別はもっと厳密な定義の方がいいのかもしれませんが、とりあえず思い通りの動作をしてくれているのでよしとしましょう(笑)。


  • *1:カテゴリーやタグで絞り込んだ記事の一覧表示に使用している画像。

Tag(s): PHP / Javascript

Comment Form (policy)

(メールアドレスは非公開です)

Others
Newest 5 Items

Value DomainでGoogle Apps

IE7のheightの扱い

Amazon ギフト券が紹介料の対象に

Amazonインスタントストア開設

Webの常識テスト

Nucleus CMS: Pure Publishing