エントリ公開時間の「午前/午後」の文字化け対処法


iBlog エントリの公開時間の「午前/午後」の文字化けを JavaScript を使って(見た目上)対処する方法を紹介します。

iBlog エントリの公開時間の「午前/午後」の文字化けを JavaScript を使って(見た目上)対処する方法を紹介します。

具体的な方法
テンプレートファイル(BlogPage.txt 等)に記述されている body 要素を以下のように書き換えます。
変更前:<body>
変更後(実際には一行で記述):<body onLoad="document.body.innerHTML=document.body.innerHTML.split('&aring;fl&euml;O').join('AM');focus();
document.body.innerHTML=document.body.innerHTML.split('&aring;fl&aring;&#8222;').join('PM');focus();">

解説
少なくても、.Mac 公開バージョン iBlog v.1.3.1 でのエントリ公開時刻形式は、システム環境に依存するらしく、設定によっては「午前」「午後」がそれぞれ「&aring;fl&aring;&#8222;」「&aring;fl&euml;O」に文字化けしてしまいます。
そこで、body 要素の onLoad イベントが発生した段階で、JavaScript の innerHTML プロパティを使ってブラウザでの見た目を、「&aring;fl&euml;O」→「AM」、「&aring;fl&aring;&#8222;」→「PM」に書き換えています。
ただし、innerHTML プロパティは非標準なので、対応ブラウザは限られます。Safari 1.1(v100.1)、Internet Explorer 6 SP1 (Windows XP) では確認できました。

参考ページ
iBlogのTips
JavaScript:document.body.innerHTMLのガイドライン

最後に
システム時刻は 24 時間表示がデフォルトでしたので、この方法を発見するまでは、わざと文字化けをさせたままでした。
本来、iBlog 側が対処するべき問題なのに、いちアプリケーションのために、自分のデスクトップの見た目を変えるのはおかしいだろう? と思っていましたので。
この方法を、同じことを考えていた iBlogger に捧げます。でも、これもまた付け焼き刃なんですよねーっ。なんとかならんのか。

Posted: 日 - 12月 7, 2003 at 04:15 午後          


©