自分とこの独自仕様じゃんかよー(悪口)
投稿日: 2014-03-12 /
カテゴリー:job
webサイトの入力フォームで、ime-modeに「active」を使っていると、IE11とIME2012の組み合わせだと、半角カナになってしまうとかどうとかあるらしいですよ。
http://support.microsoft.com/kb/2931749/ja
マジか。
確認したらマジだったので、半角カナはねーわということで急遽対応することになりました。
でもcss全部直すのめんどくさいので(IE11が対応してくれたら元に戻したいし)、どがんと一気にできないかなーということで、ime-modeが「active」になっているときにjavascriptで「auto」に書き換えることにしました。
$(function(){ $("input:visible[type!='password'],textarea").each(function(){ var ime = $(this).css('ime-mode'); if (ime == 'active') { $(this).css('ime-mode', 'auto'); } else { if (typeof ime == 'undefined') { var input = $(this).get(0); if (input) { try { ime = input.currentStyle.getAttribute('imeMode'); if (ime == 'active') { $(this).css('ime-mode', 'auto'); } } catch(e) { } } } } }); });
jQuery1.8.3で動作を確認しています。
IE9~11、Firefox、Chromeで動かしてみた感じでは大丈夫そうです。
これでしばらく様子見です。嫌すぎる。
(追記 2014/05/02)
Chromeでエラー出てました。ひどい。(私の頭が。)
エラーを無視するように追加しました。ひどい。