ようこそゲストさん

matuダイアリー

2008/09/15(月) adiary2.02と標準モード

はてブ情報 はてブに登録 はてブ数 adiary matu
adiary2.02がリリースされていたのでアップデートしました。
IE8によるアクセス時、標準準拠モードでレンダリングさせるようにしました。
Version2.02リリース情報 - adiary開発日誌
脚注によると、はてなテーマは依然として互換モードでレンダリングするそうです。
/path/to/adiary/theme/hatena/_skelton/_frame.htmlを確認すると、確かに。
<$v.compatible_mode = 1>

標準モードと互換モード

何が違うのかというと、HTMLソースを見るとDOCTYPEの宣言でdtdの指定があるかないかということになりますが、ブラウザでのレンダリングが変わったり、JavaScriptの挙動が変わったりするようです。

adiary既知の問題?

互換モードの場合、adiaryではどんな問題があるかというと、はてなテーマ利用時 - adiary開発日誌にもあるように、はてなテーマを使用しているとポップアップの表示位置がずれることがあるようです。*1
この問題はまだ対応されてないみたいです。
ただ、adiaryユーザの中には標準モードにしてこの問題に対応している方も見受けられました。
はてなテーマの中には標準モードで表示させてもOKなテーマがあるということなんでしょうね。(勝手に推測)

*1 : asin記法などで確認済み。

スクリプトで対応するなら

 --- adiary.js.orig      2008-09-15 18:06:23.000000000 +0900
 +++ adiary.js   2008-09-15 18:17:36.000000000 +0900
@@ -105,8 +105,8 @@
        var style = div.style;
        var cx; var cy;
        if ( evt ) {
 -               cx = evt.clientX + document.documentElement.scrollLeft;
 -               cy = evt.clientY + document.documentElement.scrollTop;
 +                cx = evt.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft);
 +                cy = evt.clientY + (document.body.scrollTop || document.documentElement.scrollTop);
        } else {
                cx = event.clientX + document.body.scrollLeft;
                cy = event.clientY + document.body.scrollTop;
座標が取得できない場合は常に0が返されるみたいなので、||は+でも良いかもしれませんが、ベンチマーク的なところまではわかりません。

名前:  非公開コメント   

URL(任意):
  • TB-URL  http://d.matu.biz/038/tb/
  • adiary2.02についてあれこれ matuダイアリー matu
    最近adiaryのネタばかりで恐縮です…。■adiary.jsにパッチadiary.jsにパッチが出ています。(コメント欄参照)Safariでポップアップが正しい位置に表示されない問題を修正するものですが、これを適用すれば以前言及したはてなテーマ(互換モー...
Related Posts with Thumbnails