IEの罠 – JavaScript

最近、JavaScript のライブラリを作成しているが、IE対応はとても大変だ。
特に「ImageAdjustor」など、ピクセル単位でオブジェクトを配置する場合、罠が待っている。

大きな原因は3つ。

(1) 互換モード(IE独自のCSS解釈)と標準モード(W3CのCSS解釈)がある。
(2) 互換モードと標準モードで、ボックスモデルの解釈が異なる。
(3) 互換モードと標準モードで、オブジェクトが異なる。

なので、HTMLがどちらのモードなのか判断して、それぞれに対応する必要がある。

モードの判断は、FCKeditor を参考にして以下のように行っている。

if (document.getElementById && (document.compatMode == 'CSS1Compat')) {
// 標準モード
} else {
// 互換モード
}

ボックスモデルの違いは以下の様になる。

・標準モードの場合
width と height にボーダー幅とパディングを含まない(Firefoxと同様)。

・互換モードの場合
width と height にボーダー幅とパディングを含む。

また、あきらが必要としたオブジェクトの違いは以下のようになる。

・標準モードの場合
ドキュメントのWidth = document.documentElement.scrollWidth
ドキュメントのHeight = document.documentElement.scrollHeight
ドキュメントのLeft = document.documentElement.scrollLeft
ドキュメントのTop = document.documentElement.scrollTop

・互換モードの場合
ドキュメントのWidth = document.body.scrollWidth
ドキュメントのHeight = document.body.scrollHeight
ドキュメントのLeft = document.body.scrollLeft
ドキュメントのTop = document.body.scrollTop

自分だけが使うライブラリになら、HTMLを全て標準モードで統一すればよいが、一般的なライブラリを提供する場合は対応する必要がある。

まったく困ったブラウザだ。普及しているから、なお始末に終えない。

PHPエキスパートライブラリ完成!

やっと出来ました!

「PHPエキスパートライブラリ」

いままで独自に作ったのライブラリを使っていたのですが、「動けばOK」とゆう部分も結構ありました。
今回、他の人も使えるようにドキュメントを整備し、テストを繰り返しました。

自信作です。まずはサンプルをご覧下さい。

「PHPエキスパートライブラリ Sample」

どうしてもポップアップブロック対策をしたかったので、苦労しました。
結果的に PHP と JavaScript が連携するものになりました。

新規開発に、勉強用に、ぜひ!ご購入を検討してください!

ブログ引越し – Redirect

引越し先へPHPを使ってリダイレクトさせていたが、もっといい方法があるはずだと調べていくと、

Proxyとか : [Server] サイトの引越し URL変更(移動) にともなう備考

に、わかりやすく解説して頂いていた。
これによると、Googleなどの検索エンジンにも有効な方法とのこと。
Googleでヘルプセンターを検索して確認。しかし、こんな情報をよく見つけたものだ。ちょっと感動。

さっそく .htaccess を作成してテスト。

おお、今までより断然速い。fula.jp さん、ありがとう!

というか、自分の不勉強を思い知ったのだった。

ブログ引越し

※この記事について、ロリポップさんの名誉のためおことわりすると、ロリポップでは、基本的にMySQLはサポート外であり、MySQLを使わないページは問題ないレスポンスで表示されます。
また、問い合わせのメールにも親切に回答していただきました。

急遽ブログの引越しを行いました。ご面倒ですが、リンク・ブックマークの変更をお願いします。

ロリポップのMySQLが極端に遅くなったため、やむなくブログを引っ越すことにした。

新規記事を書くと、それなりにアクセス数が増えていたのに、どうも最近芳しくない。また、新規記事の追加自体が遅くなった。
試しに普通にブログを開くと、なんと20秒もかかった。

一応技術者なので、すこし検証を行った。

“ブログ引越し” の続きを読む

「ここ」リンクでがっかり…

最近、Synergy や FC5 がらみでリンクを張って頂く事が多くなったようです。
リンクを張って頂くのはありがたいのですが、ちょっと残念な事があります。

それは、「ここ」にリンクが張ってあり、サイトの名前やページ名が明示されていない事です。

「ここ」リンクが全て悪いわけではありません。自サイトに置いたファイルなどであれば、説明も簡潔となり、解り易いと思います。
しかし、外部へのリンクの場合は、一行あけてサイト名やページ名を書くのが良いんじゃないでしょうか。

逆の立場で考えればすぐに解るんじゃないかな。

特に技術系の場合は、苦労してテストしたり、試行錯誤をした結果を公開しているわけで、すこしはちゃんと紹介してもらっても良いんじゃないかと考えるわけです。

みんなはこんなこと考えないのかな?

ぜひコメントをお願いします。

ネットで出前の時代なのだ!

ページ右上のバナーでもお分かりでしょうが、ネットで出前のサービスが登場しました。

その名も『出前館』。

このサービスの良いところは、サービスが充実していることです。

・地域別に出前をする店・出張サービスが登録されている
・クーポンがありおまけが付く

会員登録をするとさらにお徳です。

・お買い上げ金額の 1% がポイントとして貯まる
・ログインすると住所入力が不要

なにかと忙しい方、この際会員登録をしてはどうでしょうか?

“ネットで出前の時代なのだ!” の続きを読む

鳥取県鳥取市の白兎海岸

画像(180x135)

白兎海岸

昨日、たまたま白兎海岸を通った時、風も無く海面は鏡のようだった。

雲の切れ間から明かりがこぼれて、その鏡面にきれいに写っていた。

やはり雲は気まぐれで、数分後にはどんよりとした海面だけとなっていた。

この景色には、もう二度と逢えないかもしれない。