テーマのプレビューで編集位置まで戻す

category-icon

 タイトルだけだと何のことやら分からないと思いますが、ppBlogの「テーマ管理」では、テンプレートのHTMLやスタイルシートを修正した際に、どういう風に変更が反映されるか、実際にプレビューボタンで確認することが出来ます。そのプレビュー画面では、以下のように「戻る」のリンクでもとの編集画面に戻ります。
shot2

 従来だと、この戻るリンクで戻ると、マウスのカーソルは長々しいテキストエリアの先頭に戻っているので、再度編集部位を探しつつ、そこまでスクロールする必要がありました(Ctrl+Fで検索するのが常套手段ですが)。スタイルシートの編集では、テキスト量が多い傾向にあり、直前の編集部位を探し出すのは大変です。

 なのでその辺を改善してみました。やりたいのは以下のことです。
shot
スクロールバーの位置に注目。

 テキストエリアのスクロールバーの位置はJavaScriptから制御することが出来ます。具体的には、scrollTop を使います。流れとしては、プレビューボタンを押したタイミングで、スクロール量を取得(scrollTopで可能)、プレビューから戻ったときに、取得した値を指定すれば良いわけです(指定もscrollTopです)。実際には、テキストエリアだけではなく、ブラウザのスクロールバーもscrollTopで制御できるので、この2つのスクロール量を保持するようにしています。

 やってみると意外と簡単に実装できました。もっと早くやっておけば良かったです。試されたい方は、以下のutils.phpmodules/theme.inc.phpでどうぞ。

— posted by martin at 09:46 pm   commentComment [0]  pingTrackBack [0]

 

Firefoxに伴うアップデート

category-icon

 こんばんは。普段はブラウザとしてFirefoxを使っています。で、先ほどブログの方で記事を投稿したら、Firefoxだけ(厳密にはGeckoエンジンブラウザ)に読み込ませるツールチップのスクリプトが動作していないことに気付きました。

 Firefoxは、画像などで多用されるTITLE属性内の改行や改行コードを無視します。実は仕様としては正しい振る舞いです。でも、TITLE属性の改行が有効な方がブラウザの使い手には優しいと思うので、ppBlogでは、FirefoxでもTITLE属性内の改行が有効になるようなスクリプトを用意しています。

 で、その読み込ませる際に、次のようにしています。

 if(client.Gecko) oParts.loadScript(baseURL + 'js/firefoxtooltip.js');

 このブラウザ判定は、window.GeckoActiveXObject でやっていたんですが、これがいつの間にやら認識されなくなったようです。実は、今日Firefoxの自動アップデートがありバージョンが3.5.6になりました。で、リリースノートを見てみると、どうやら

http://www.mozilla-japan.org/security/announce/2009/mfsa2009-71.html

が関係している模様。でも、これで認識しなくなるのかなという疑問もありつつ、この部分を修正しました。最新のoParts.jsを添付しておきます。

添付ファイル: oParts.jsattachedIcon 

— posted by martin at 03:55 am   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
Created in 0.0038 sec.
prev
2009.12
next
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31