石輪っぷり!
コメントフォームのJavaScript OFFへの対応
2009年5月13日 21時05分 | コメント(0) | トラックバック(0)
※この投稿は180日以上前のものです。最新の情報とは異なる場合があります。
Movlable Type 4.2からでしょうか、JavaScriptが無効な場合はコメントの投稿ができなくなりました。そればかりか、コメントを投稿しようとすると「不正な要求です。」という何とも嫌なエラーが表示されます。
<noscript>タグで「JavaScriptが無効な環境ではコメントを投稿することが出来ません。」と記述してしまえば簡単ですが、それではそういう環境のユーザーの参加を阻害することになります。
そこでこれをJavaScriptが無効でも投稿可能に、更に違和感のないように改善しました。
まずJavaScriptが無効でも投稿を可能にするカスタマイズは、小粋空間さんのJavaScript を無効にしてコメント投稿を可能にするを参考にさせていただきました。この場合、
コメントを受け付けられる状態にしている場合、JavaScript を無効にすると、コメントフォームが無条件に表示されます。サインインやCAPTCHAも表示されません。登録/認証の設定で、「認証なしコメント」のチェックを外していても投稿可能です。
とのことですが、このサイトのblogっぷり!では特に認証サービスの利用は想定していませんので問題ありません。
さて、これでJavaScriptが無効でもコメントの投稿は可能となったのですが、[確認]ボタンを押しても確認画面には遷移せず、即コメントが投稿されてしまいます。これではボタンと結果が異なりユーザーが戸惑います。<noscript>タグを使ってJavaScriptが無効な時には即投稿される旨のメッセージを表示するという方法もありますが、ここではJavaScriptが無効な場合には[確認]ボタンそのものを表示しないようにしました。
<div id="comments-open-footer">
<script type="text/javascript">
//<![CDATA[
document.write('<input type="submit" accesskey="v" name="preview_button" id="comment-preview" value="確認(V)" onclick="this.form.preview.value=\'1\';" />');
//]]>
</script>
<input type="submit" accesskey="s" name="post" id="comment-submit" value="投稿(S)" />
</div>
更に、コメントに対する返信の機能がありますが、これもJavaScriptが使われており、JavaScriptが無効な環境では各コメントの"返信する"をクリックしても何も反応しません。これもJavaScriptが無効な場合には表示しないようにしました。
<p class="comment-footer">
投稿者: <$mt:CommentAuthorLink$><$mt:CommentAuthorIdentity$>
| <abbr class="published" title="<$mt:CommentDate format_name="iso8601"$>"><$mt:CommentDate$></abbr>
<mt:IfCommentsAccepted>
<script type="text/javascript">
//<![CDATA[
document.write('| <a href="javascript:void(0);" onclick="mtReplyCommentOnClick(<$mt:CommentID$>, \'<$mt:CommentAuthor$>\')" title="<$mt:CommentAuthor$>さんのコメントに返信する">返信する<\/a>');
//]]>
</script>
</mt:IfCommentsAccepted>
</p>
なお、返信のリンクは <$mt:CommentReplyToLink title="返信する"$> というカタチで記述できますが、ここではtitle属性の値とテキストを変えたかったのと、document.write の中に記述する場合は \(バックスラッシュ)を入れる必要がある箇所が出てきますので上記のように記述しています。
これでJavaScriptが無効な場合でも、コメントの確認や返信機能の利用できませんが、コメントは問題なく投稿できます。
トラックバック(0件)
- :
- « 前の記事
- Googleの検索結果をカスタマイズ
- 次の記事 »
- WindowsでもSafariはフォントがきれい

コメント(0件)
コメントする