adiary2.02と標準モード

Filed in ソフトウェア by on 2008-9-15 1 Comment  [長年日記]
adiary2.02がリリースされていたのでアップデートしました。

IE8によるアクセス時、標準準拠モードでレンダリングさせるようにしました。

Version2.02リリース情報 – adiary開発日誌

脚注によると、はてなテーマは依然として互換モードでレンダリングするそうです。

/path/to/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が返されるみたいなので、||は+でも良いかもしれませんが、ベンチマーク的なところまではわかりません。

関連記事

Pocket

Tags:

About the Author ()

こんにちは。マツです。都内でITのお仕事やってます。iPhone/iPad/Mac/写真/家電/文具/ライフハック/クラシック/長崎(出身)など興味があります!

ご案内

記事をご覧いただきありがとうございます!
もし、当ブログを気に入っていただけましたら、Facebookページのご購読RSSのご購読をお願いしますm(_ _)m

follow us in feedly

Comments (1)

Trackback URL | Comments RSS Feed

  1. matuダイアリー より:

    adiary2.02についてあれこれ

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です