8
05
2011
Safari5.1の日本語入力問題の原因
Safari5.1でインライン日本語入力ができなくなる原因
Safari5.1上でインライン日本語入力ができなくなる現象が発生していましたが、どうやら原因は Adobe Flash Player との相性問題のようです.
この現象は私の環境でも頻発していたのですが、どのような条件下でこの現象が起きるのか不明でしたので、とりあえずSafariのプラグインなどとの相性問題を疑ってみました.手始めに Adobe Flash Player プラグインを外すとインライン入力ができなくなる現象は発生しないことが判りました.
インライン入力ができなくなる現象が発生するのは、日本語入力を行おうとしているSafariでflashが使われているページを開き何らかのflashコンテンツ操作(マウスクリック等)を行った後、テキスト入力フィールドにことえりやATOK等のインプットメソッド経由での入力を行う場合にこの現象が発生します.
この現象が起きるのはSafari上の同一ウインドウ上でFlashコンテンツ操作を行った場合のみで、別なウインドウ(タブ)上でflashコンテンツ操作を行った場合は影響を受けません.
Flashがキーボード入力イベントを勝手にインターセプトしているようですが、どうもこのFlash側の処理のお行儀が悪いようでOS(インプットメソッド)側に正しくキーボード入力イベントを返さないようです.
【回避策】
とりあえず何らかのflashコンテンツの操作を行った場合は、日本語入力を行う必要が生じた場合は別なウインドウ(タブ)を呼び出し、そのページ上で日本語入力を行うようにすれば回避することができます.
今のところFlash Playerを必要とする WEBコンテンツが多いので簡単にはFlash Playerを外すことができませんが、早いところインターネット上のFlashコンテンツが撲滅して欲しいところです.Safariがクラッシュする原因はの殆どが Flash Player が原因ですね.
Flash Player はSafari5.1の子プロセスとして実行されている
Safari5.0.5ではFlash PlayerはWebkitPluginAgentの子プロセスとして実行されている
Flash PLayer 10.3.183.5, 11 でも症状は変わらず
8/10 にFlash PLayer 10.3 のセキュリティーフィックスがあり、10.3.183.5にアップデートされましたが、Safari 5.1 で日本語入力ができなく問題は解決していません.
AppleとAdobeが協力して問題の解決に当たって欲しいところですが、現在の両者の関係は冷え切っているので難しそうですね.
欧米圏ではインプットメソッドを使って文字を入力するような事はないので、インプットメソッドへの感心が薄いので放たらかしにされているのでしょうか.