- 2008年11月 8日 23:34
- CAPTCHA認証 | MovableType
MTを構築しているときに確認はもっぱらFirefoxを使用しております。
で、途中のIEでの動作確認をすっかりわすれMT構築に没頭した最後の最後に
アッーーーーーと思い出したようにそそくさとIE確認をすると。。。。毎度の事ながらfoxと
同じようには表示してくれません。
今回は、MTのCAPTCHA認証の設定をしているにもかかわらずFirefoxでは表示されるのですがIEではそこの部分が表示されません。
無理やりテストコメントをしても認証コードを入力するところもないのでエラーでコメントを受け付けないという事態になっています。
さらにIEのステータスバーにでエラー出てるし~。あ~っもぅ~(涙
という事で、いろいろググったりmt.VicunaCMSのフォーラムを見ていたらみなさん結構前にこの問題にぶち当たっていたようで。。。
http://vicuna.jp/forum/viewtopic.php?p=2990&sid=a29cbeb6e32c7efbaaca3b3d9f12054a#2990
このフォーラムのMekkさんが同じ問題を指摘されていて
よーするに
<div id="comments-open-captcha"></div>の"comments-open-captcha"は
JavaScriptのinnerHTMLで
<$mt:CaptchaFields$>
が呼び出される形になっており、そのよびだされるHTMLには
<div
class="label"><label
for="captcha_code">Captcha:</label></div><div
class="field"><input name="token" value="*"
type="hidden"><img src="http://*" height="35"
width="150"><br><input name="captcha_code"
id="captcha_code" value=""
autocomplete="off"><p>画像の中に見える文字を入力してください。</p></div>
とあるため
展開した最終形として
<p
id="comments-open-captcha"><div class="label"><label
for="captcha_code">Captcha:</label></div><div
class="field"><input name="token" value="*"
type="hidden"><img src="http://*" height="35"
width="150"><br><input name="captcha_code"
id="captcha_code" value=""
autocomplete="off"><p>画像の中に見える文字を入力してください。</p></div>
</p>
というp要素とdiv要素の微妙な入れ子になってしまいこれがどうもIEでエラーを出してしまっていたようです。
なので、結局<p id="comments-open-captcha"></p>を<dl>で囲みさらにp要素をdivに変更することでエラーを回避するようになりました。
つまり
<p id="comments-open-captcha"></p>
を
<dl>
<div id="comments-open-captcha"></div>
</dl>
に変更して解決という事です。
ググってる時に私の他にも似た現象で悩んでる方(Tetsuyan's Blogの管理人さん)がおられてコメントしようかと思いましたが私のようなインチキWebデザイナーにはなかなか「敷居が高い」のと、このブログも本日立ち上げたという記念の勢いでトラックバックしてみたいと思います。^^;
(Tetsuyan's Blogさん迷惑でしたらすいません)
- Newer: CSSの構文
- Older: 冷やし中華始めました。的な。。。。