▼ 2008/09/15(月) adiary2.02と標準モード
adiary2.02がリリースされていたのでアップデートしました。
/path/to/adiary/theme/hatena/_skelton/_frame.htmlを確認すると、確かに。
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が返されるみたいなので、||は+でも良いかもしれませんが、ベンチマーク的なところまではわかりません。▼ コメント(0件)
- TB-URL http://d.matu.biz/038/tb/
-
▼
adiary2.02についてあれこれ
matuダイアリー
最近adiaryのネタばかりで恐縮です…。■adiary.jsにパッチadiary.jsにパッチが出ています。(コメント欄参照)Safariでポップアップが正しい位置に表示されない問題を修正するものですが、これを適用すれば以前言及したはてなテーマ(互換モー...