Movable Typeのスパムはformのactionを空欄にしてJavaScriptで書き戻すという方法で避けていた.
最近,そのJavaScriptがIEだと軒並み効かないという不思議現象にようやく気づいて,いったんその方法を諦めた.(コレは,JavaScriptがらみのエラーだと分かったさはらさんの情報が大きい)
しかし,2週間も経たないうちにポコポコSPAMコメントが来るようになり,おまけに保留やSPAMに入ってくれればまだしも,フィルターに入ってくれないものがあっさり公開されるので,どうしたもんかなあと頭を悩ませていた.
そして,やっと分かったこと.
単にnoscript要素を書く位置を間違っていた.
具体的に言うと,script要素の中にnoscriptを書いていたのである.あー,戻そ,戻そ.(またコメントできなかったら知らせてほしい)
これがなかなか分からなかった理由は,
- 同じページのtextarea内デフォルト文字列を消すJavaScriptもIEだけ動いていなかったこと.→ページ自体でJavaScriptが機能していないと勘違いした.
- Firefoxではどちらも滞りなく機能していたこと.→IE設定でJavaScriptを動かす設定にしないといけないのだと勘違いした.
じゃあ何で気がついたかというと,トップページではもう1つJavaScriptを使っている部分があって,これはIEでも機能していることに気がついたからである.
ちなみに,文字列を消すJavaScriptというのは,「Code-404」のフォーカスした際にフォームの内容をクリアする JavaScriptである.
フォームをフォーカスすると表示してあるデフォルトの文字列が消え,何も書かずにフォーカスが外れるとデフォルトの文字列が復活する.ページ内に何カ所かある場合も配置したエリアのidを配列指定すればよいという便利な代物である.
そっちが機能していなかったのも直したので,IEでも大丈夫だと思う.
IE6で文字化けする件が直ったかどうかは不明.