by WebSurfer
5. July 2011 21:38

火曜日は用事があって休暇を取ったので、その用事が終わった後、秋葉原に行ってきました。
何が目的だったかというと、先日買ったスマートフォン Galaxy SII 用のキーボードを買いに行ったのです。
Galaxy SII は Bluetooth インターフェイスをサポートしているので、小型の Bluetooth キーボードを買って一緒に持ち歩けば、外出先でフォーラムの書き込みを行う場合など、長文もストレスなく入力できるのではないかと思ったわけです。
秋葉原まで行かなくてもキーボードぐらい近所の店でも買えるし、電車代がかかるのでかえって高くつくことがあるんですけどね。でも、電気街で PC パーツなどを見て回りたかったこともあって、用事で出かけたついでに行ってきました。
さすがに火曜日の昼間ということで、電気街の店は週末の賑わいはなく、客より店員さんの方が多いくらい空いていました。
でも、電気街とは線路をはさんだ反対側にある某大型量販店では平日の昼間とは思えないぐらい人が多く、昔からの電気街も大型量販店に客を取られているようで、ちょっとさびしい感じです。
目的のキーボードは、電車代を払ってもペイする価格の店を見つけて買ってきました。価格やあまり一般的ではない PC パーツの品揃えは大型量販店にはまだまだ負けていませんね。
で、キーボードを入手した結果、スマートフォンでもノート PC 並に長文入力がストレスなくできるようになったかと言えば、そうは甘くはなかったです。(涙)
英文だけならノート PC に近い操作性になったと思いますが、日本語の変換が入るとスムーズに行きません。具体的な話は別途書きます。
152745f8-4a54-4eef-822a-e276072f73bc|0|.0
Tags: 秋葉原
General
by WebSurfer
3. July 2011 22:18
以前の記事 野菜一日これ一本 の カゴメのサイト がリニューアルされて、動画も新しいものに変わりました。
タイトルの「ご注文の前田敦子とおにぎりです」というのは、最初のページで前田さんの画像をクリックすると表示される動画の始めの方で、前田さんが話すセリフです。
左の画像がその動画のスクリーンショットです。
先のバージョン もそうだったのですが、これも見ているとニヤニヤが止まりません。
ふわふわした感じや話し方、全体のしぐさがとても可愛らしくって、ごめんなさい、もう降参ですって感じです。(笑)
彼女が出演している映像のすべてがそうだというわけではないですが、この動画のようにハマると、見た人をとりこにするような破壊力を生み出す気がします。
やはり、この子がセンターでないとダメです。(単なる個人的意見です(笑))
56cd0256-7fca-431a-9fc7-0162a1396f80|0|.0
Tags: 前田敦子
AKB48
by WebSurfer
3. July 2011 17:00
BlogEngine.NET 2.0 に標準で実装されている SyntaxHighlighter はバージョン 3.0.83 ですが、BlogEngine.NET 1.6.1 で使っていたバージョン 2.0.320 を使えるようにしました。
これは先の記事 Lightbox Plugin で書いた、バージョン 3.0.83 の shCore.js が取り込まれると、IE6, IE7, IE8 の場合、JavaScript パーサーが jQuery.js をうまく解釈できないという問題に対応するためです。
どのようにしたかというと、Standard のテーマをコピーして別のテーマを作り、その中のマスターページの site.master.cs で、デフォルトの SysntaxHighlighter 3.0.83 が Enable でないときは、2.0.320 のスクリプトと CSS 定義を追加するようにしました。
具体的には以下の通りです。
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using BlogEngine.Core;
using BlogEngine.Core.Web.Extensions;
public partial class MyStyleSite : System.Web.UI.MasterPage
{
private string extensionName = "SyntaxHighlighter";
private static string scriptsFolder =
"SyntaxHighlighter2/scripts";
private static string stylesFolder =
"SyntaxHighlighter2/styles";
protected void Page_Load(object sender, EventArgs e)
{
if (Security.IsAuthenticated)
{
aUser.InnerText =
"Welcome " + Page.User.Identity.Name + "!";
aLogin.InnerText = Resources.labels.logoff;
aLogin.HRef =
Utils.RelativeWebRoot + "Account/login.aspx?logoff";
}
else
{
aLogin.HRef =
Utils.RelativeWebRoot + "Account/login.aspx";
aLogin.InnerText = Resources.labels.login;
}
// デフォルトの SyntaxHighlighter version 3.0.83 が
// Enabled になっていない時は version 2.0.320 の
// スクリプトと css 定義を追加。
ManagedExtension extension =
ExtensionManager.GetExtension(extensionName);
if (extension.Enabled == false)
{
AddJavaScript("shCore.js");
AddJavaScript("shLegacy.js");
AddJavaScript("shBrushCSharp.js");
AddJavaScript("shBrushSql.js");
AddJavaScript("shBrushXml.js");
AddJavaScript("shBrushJScript.js");
AddStylesheet("shCore.css");
AddStylesheet("shThemeDefault.css");
AddStartupScript();
}
}
private void AddJavaScript(string scriptFilename)
{
HtmlGenericControl script =
new HtmlGenericControl("script");
script.Attributes["type"] = "text/javascript";
script.Attributes["src"] =
ResolveScriptUrl(scriptFilename);
Page.Header.Controls.Add(script);
}
private string ResolveScriptUrl(string scriptFilename)
{
return Utils.RelativeWebRoot + "js.axd?path="
+ Utils.RelativeWebRoot + scriptsFolder +
"/" + scriptFilename;
}
private void AddStylesheet(string cssFilename)
{
HtmlLink css = new HtmlLink();
css.Attributes["type"] = "text/css";
css.Attributes["rel"] = "stylesheet";
css.Attributes["href"] =
Utils.RelativeWebRoot + stylesFolder +
"/" + cssFilename;
Page.Header.Controls.Add(css);
}
private void AddStartupScript()
{
Type type = this.GetType();
string scriptname = "SyntaxHighlighterStartupScript";
System.Web.UI.ClientScriptManager manager =
Page.ClientScript;
if (!manager.IsClientScriptBlockRegistered(type,
scriptname))
{
System.Text.StringBuilder sb =
new System.Text.StringBuilder();
sb.AppendLine(
string.Format(
"SyntaxHighlighter.config.clipboardSwf='{0}';",
Utils.RelativeWebRoot + scriptsFolder +
"/clipboard.swf"));
sb.AppendLine("SyntaxHighlighter.all();");
manager.RegisterStartupScript(type, scriptname,
sb.ToString(), true);
}
}
}