コメント投稿フォームの「情報を保存する」のチェックを外した時の振る舞いを変更する
Movable Type 4 のコメント投稿画面にある、「ログイン情報を記憶」というチェックボックス(下のスクリーンショット一番下のチェックボックス)は、投稿者情報(名前・電子メール・URL)をクッキーを利用して保存し、次回の投稿時に投稿者情報の入力を不要にするためのものです。
チェックボックスにチェックをしておけば、コメント投稿時に投稿者情報がクッキーに保存されます。

逆に、このチェックを外すと、チェックを外した瞬間にクッキーから投稿者情報を消去する動作が実行されるのですが、同時に、入力フィールドに記入された投稿者情報まで消去されてしまいます(下)。

チェックを外す操作によるフォーム情報のクリアは、ユーザが意図しない動作のように思われます。
ということで、このエントリーでは、チェックを外しても投稿者情報を消去せず、クッキー情報のみ削除するカスタマイズを紹介します。
1.設定方法
ブログ管理画面より、「デザイン」→「テンプレート」を開き、一覧に表示された「JavaScript」のリンクをクリック。これは mt.js というコメントフォーム制御用の JavaScript です。

「テンプレートの内容」にある赤色の部分
:
function forgetMe (f) {
deleteCookie('mtcmtmail', '/', '');
deleteCookie('mtcmthome', '/', '');
deleteCookie('mtcmtauth', '/', '');
f.email.value = '';
f.author.value = '';
f.url.value = '';
}
:
を削除するか、赤色行の先頭に "//" をつけてコメントアウトします。
:
function forgetMe (f) {
deleteCookie('mtcmtmail', '/', '');
deleteCookie('mtcmthome', '/', '');
deleteCookie('mtcmtauth', '/', '');
// f.email.value = '';
// f.author.value = '';
// f.url.value = '';
}
:
編集後、「保存と再構築」をクリックしてください。
Lightbox JS/Litebox で BlogPet を背景画像の下に隠す
Lightbox JS / Litebox でブログパーツ BlogPet の Flash を PNG 背景画像の下に隠す方法です。
以前、「Lightbox JS でブログパーツ等の Flash を PNG 背景画像の下に隠す」という記事を書いたのですが、BlogPetのソースコードが変更されており、ご質問を頂きましたので再掲します。
1.BlogPet のスクリプトを取得する
BlogPet 表示用の script 要素の src 属性に記述されたURLをブラウザ(Firefox 推奨)に入力すると、下のようなスクリプトが表示されます。
(function() {
try {
request = encodeURIComponent(document.URL);
referrer = encodeURIComponent(document.referrer);
} catch (e) {
request = escape(document.URL);
referrer = escape(document.referrer);
}
document.write(
"<object id='usa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' " +
"classid='clsid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' " +
"codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' " +
"width='130' " +
"height='220'>" +
"<param name='allowScriptAccess' value='sameDomain' />" +
"<param name='movie' value='http://media.blogpet.net/5/8/243658.swf' />" +
"<param name='play' value='true' />" +
"<param name='loop' value='false' />" +
"<param name='menu' value='false' />" +
"<param name='quality' value='high' />" +
"<param name='bgcolor' value='#ffffff' />" +
"<param name='FlashVars' value='public_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&domain=api.blogpet.net¤t_url=" + request + "' />" +
"<embed name='usa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' " +
"type='application/x-shockwave-flash' " +
"pluginspage='http://www.macromedia.com/go/getflashplayer' " +
"width='130' " +
"height='220' " +
"allowScriptAccess='sameDomain' " +
"src='http://media.blogpet.net/5/8/243658.swf' " +
"play='true' " +
"loop='false' " +
"menu='false' " +
"quality='high' " +
"bgcolor='#ffffff' " +
"current_url='" + request + "'" +
"FlashVars='public_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&domain=api.blogpet.net¤t_url=" + request + "' />" +
"</object><br />"
);
})();
document.write('<object id="site" classid="clsid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="130" height="100" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="http://kk.blogtoy.net/swf/48.swf" /><param name="play" value="true" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="FlashVars" value="domain=kk.blogtoy.net&source=/swf/13.swf&onclick=/click/2/classic/8" /><embed src="http://kk.blogtoy.net/swf/48.swf" loop="false" menu="false" quality="high" bgcolor="#ffffff" width="130" height="100" name="site" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" FlashVars="domain=kk.blogtoy.net&source=/swf/13.swf&onclick=/click/2/classic/8" /></object>');
これを「ファイル」→「名前をつけてページを保存」を選択し、任意のファイル名(blogpet.txt 等)で保存します。
2.スクリプトの修正
保存したスクリプトを任意のエディタで開き、下記の青色部分を追加してください。注:計4ヶ所あります。
(function() {
try {
request = encodeURIComponent(document.URL);
referrer = encodeURIComponent(document.referrer);
} catch (e) {
request = escape(document.URL);
referrer = escape(document.referrer);
}
document.write(
"<object id='usa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' " +
"classid='clsid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' " +
"codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0' " +
"width='130' " +
"height='220'>" +
"<param name='allowScriptAccess' value='sameDomain' />" +
"<param name='movie' value='http://media.blogpet.net/5/8/243658.swf' />" +
"<param name='play' value='true' />" +
"<param name='loop' value='false' />" +
"<param name='menu' value='false' />" +
"<param name='quality' value='high' />" +
"<param name='bgcolor' value='#ffffff' />" +
"<param name='wmode' value='transparent' />" +
"<param name='FlashVars' value='public_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&domain=api.blogpet.net¤t_url=" + request + "' />" +
"<embed name='usa.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' " +
"type='application/x-shockwave-flash' " +
"pluginspage='http://www.macromedia.com/go/getflashplayer' " +
"width='130' " +
"height='220' " +
"allowScriptAccess='sameDomain' " +
"src='http://media.blogpet.net/5/8/243658.swf' " +
"play='true' " +
"loop='false' " +
"menu='false' " +
"quality='high' " +
"bgcolor='#ffffff' " +
"current_url='" + request + "'" +
"wmode='transparent' " +
"FlashVars='public_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&domain=api.blogpet.net¤t_url=" + request + "' />" +
"</object><br />"
);
})();
document.write('<object id="site" classid="clsid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="130" height="100" align="middle"><param name="allowScriptAccess" value="always" /><param name="movie" value="http://kk.blogtoy.net/swf/48.swf" /><param name="play" value="true" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="FlashVars" value="domain=kk.blogtoy.net&source=/swf/13.swf&onclick=/click/2/classic/8" /><embed src="http://kk.blogtoy.net/swf/48.swf" loop="false" menu="false" quality="high" bgcolor="#ffffff" width="130" height="100" name="site" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" FlashVars="domain=kk.blogtoy.net&source=/swf/13.swf&onclick=/click/2/classic/8" /></object>');
3.スクリプトをブログに設定
BlogPet 表示用の script 要素の src 属性 charset 属性を削除し、代わりに2項の内容を追加します。なお、language 属性も非推奨なので削除しても良いでしょう。
変更前
<script language="JavaScript" type="text/javascript" src="http://www.blogpet.net/js/xxxxxxxxxxxxxxxxx.js" charset="UTF-8"></script>
変更後
<script type="text/javascript">
[2項の内容をここに入れる]
</script>
以上です。
これで、ページ上の LightBox JS/LItebox 画像を表示した時、BlogPet が背景画像の下に隠れればOKです。

