投稿者: Tomotoshi Sugishita
2008年9月10日 4:27
まずは、自分の使っている docomo の F904i で確認したところ、JavaScript の記述の仕方に問題があり、JavaScript に対応していないブラウザでは、スクリプトがそのままテキストとして見えてしまう現象が発生。
この部分の実装は Core の DLL にて行われているため、改修するには、BlogEngine.NET のソースを入手して自分でビルドし直す必要あり。
変更箇所
BlogEngine.Core\Web\Controls\BlogBasePage.cs
126行目あたりにある、AddLocalizationKeyメソッドを以下のように修正。
StringBuilder sb = new StringBuilder();
sb.AppendLine("<!--");
sb.AppendFormat("KEYhasRated='{0}';", Translate("youAlreadyRated").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYwebRoot='{0}';", Utils.RelativeWebRoot);
sb.AppendFormat("KEYsavingTheComment='{0}';", Translate("savingTheComment").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcomments='{0}';", Translate("comments").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcommentWasSaved='{0}';", Translate("commentWasSaved").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcommentWaitingModeration='{0}';", Translate("commentWaitingModeration").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcancel='{0}';", Translate("cancel").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYfilter='{0}';", Translate("filter").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYapmlDescription='{0}';", Translate("filterByApmlDescription").Replace("'", ""file://'/">\\'"));
sb.AppendLine("//-->");
※太字の行を追加してください。
以上の修正ができたら、ビルドを行って、BlogEngine.Core.dll を入れ替えます。
モバイル向けということで、標準のmobileテーマだと改行位置とかメニューの配置場所もいまいちなので、こちらも見やすくなるように修正したほうがいいかも。
ちなみに、当ブログはこんな感じです。
http://www.sugishita.dev-asp.net/?theme=mobile
使用開始2日目でCoreに手をいれちゃったよ。
今回のこの部分に関しては、プロジェクトへフィードバックかな。